INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/tmp/mock-selinux-plugin.zl_j6z5p', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'private', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,private,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '4c7873d327fa4c7cb7079632ce00d3ac', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/usermod', '-u', '1030', 'mockbuild'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:443: usermod: no changes DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/.initialized DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/tmp/mock-selinux-plugin.7ponaqth', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'private', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,private,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '5655914a564c48c9a9f5627ec108fa0f', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/usermod', '-u', '1030', 'mockbuild'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:443: usermod: no changes DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/.initialized INFO backend.py:392: Running in chroot: ['cd /var/tmp/pkgsrc && (([ -x /usr/bin/python3 ] && python3 setup.py sdist) || python setup.py sdist)'] DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ybxg2thq:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'e94952a7fb89418a9c86088c106588d3', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ybxg2thq:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/bin/sh', '-c', 'cd /var/tmp/pkgsrc && (([ -x /usr/bin/python3 ] && python3 setup.py sdist) || python setup.py sdist)'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: running sdist DEBUG util.py:445: [pbr] Writing ChangeLog DEBUG util.py:445: [pbr] Generating ChangeLog DEBUG util.py:445: [pbr] ChangeLog complete (0.2s) DEBUG util.py:445: [pbr] Generating AUTHORS DEBUG util.py:445: [pbr] AUTHORS complete (0.3s) DEBUG util.py:445: running egg_info DEBUG util.py:445: creating ironic.egg-info DEBUG util.py:445: writing ironic.egg-info/PKG-INFO DEBUG util.py:445: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:445: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:445: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:445: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:445: writing pbr to ironic.egg-info/pbr.json DEBUG util.py:445: [pbr] Processing SOURCES.txt DEBUG util.py:445: writing manifest file 'ironic.egg-info/SOURCES.txt' DEBUG util.py:445: [pbr] In git context, generating filelist from git DEBUG util.py:443: /usr/lib/python3.6/site-packages/pbr/core.py:131: UserWarning: Unknown distribution option: 'requires_python' DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: warning: no previously-included files matching '*.pyc' found anywhere in distribution DEBUG util.py:445: writing manifest file 'ironic.egg-info/SOURCES.txt' DEBUG util.py:445: [pbr] reno was not found or is too old. Skipping release notes DEBUG util.py:445: running check DEBUG util.py:445: creating ironic-20.1.4.dev4 DEBUG util.py:445: creating ironic-20.1.4.dev4/api-ref DEBUG util.py:445: creating ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: creating ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/files DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/files/hooks DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/lib DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/tools DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/tools/ironic DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/tools/ironic/scripts DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/tools/ironic/templates DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/upgrade DEBUG util.py:445: creating ironic-20.1.4.dev4/devstack/upgrade/from-queens DEBUG util.py:445: creating ironic-20.1.4.dev4/doc DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/_exts DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/admin/interfaces DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/cli DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/configuration DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/images DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/install/refarch DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/install/standalone DEBUG util.py:445: creating ironic-20.1.4.dev4/doc/source/user DEBUG util.py:445: creating ironic-20.1.4.dev4/etc DEBUG util.py:445: creating ironic-20.1.4.dev4/etc/apache2 DEBUG util.py:445: creating ironic-20.1.4.dev4/etc/ironic DEBUG util.py:445: creating ironic-20.1.4.dev4/etc/ironic/rootwrap.d DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/api DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/api/controllers DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/api/middleware DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/cmd DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/common/glance_service DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/db DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/db/sqlalchemy DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/dhcp DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ibmc DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/network DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/storage DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/drivers/modules/xclarity DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/hacking DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/functional DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/json_samples DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/api/controllers DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/cmd DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/common/json_samples DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/conf DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/dhcp DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: creating ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: creating ironic-20.1.4.dev4/playbooks DEBUG util.py:445: creating ironic-20.1.4.dev4/playbooks/ci-workarounds DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/source/_static DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/source/_templates DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/source/locale DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/source/locale/en_GB DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/source/locale/ja DEBUG util.py:445: creating ironic-20.1.4.dev4/releasenotes/source/locale/ja/LC_MESSAGES DEBUG util.py:445: creating ironic-20.1.4.dev4/tools DEBUG util.py:445: creating ironic-20.1.4.dev4/tools/benchmark DEBUG util.py:445: creating ironic-20.1.4.dev4/tools/config DEBUG util.py:445: creating ironic-20.1.4.dev4/tools/policy DEBUG util.py:445: creating ironic-20.1.4.dev4/zuul.d DEBUG util.py:445: copying files to ironic-20.1.4.dev4... DEBUG util.py:445: copying .mailmap -> ironic-20.1.4.dev4 DEBUG util.py:445: copying .stestr.conf -> ironic-20.1.4.dev4 DEBUG util.py:445: copying AUTHORS -> ironic-20.1.4.dev4 DEBUG util.py:445: copying CONTRIBUTING.rst -> ironic-20.1.4.dev4 DEBUG util.py:445: copying ChangeLog -> ironic-20.1.4.dev4 DEBUG util.py:445: copying LICENSE -> ironic-20.1.4.dev4 DEBUG util.py:445: copying README.rst -> ironic-20.1.4.dev4 DEBUG util.py:445: copying bindep.txt -> ironic-20.1.4.dev4 DEBUG util.py:445: copying driver-requirements.txt -> ironic-20.1.4.dev4 DEBUG util.py:445: copying lower-constraints.txt -> ironic-20.1.4.dev4 DEBUG util.py:445: copying requirements.txt -> ironic-20.1.4.dev4 DEBUG util.py:445: copying setup.cfg -> ironic-20.1.4.dev4 DEBUG util.py:445: copying setup.py -> ironic-20.1.4.dev4 DEBUG util.py:445: copying test-requirements.txt -> ironic-20.1.4.dev4 DEBUG util.py:445: copying tox.ini -> ironic-20.1.4.dev4 DEBUG util.py:445: copying api-ref/regenerate-samples.sh -> ironic-20.1.4.dev4/api-ref DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-allocation.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-chassis.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-conductors.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-deploy-templates.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-driver-passthru.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-drivers.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-indicators.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-misc.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-allocation.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-management.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-passthru.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-bios.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-history.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-portgroups.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-ports.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-traits.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-vifs.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-volume.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups-ports.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-ports.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-volume.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-versions.inc -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/conf.py -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/index.rst -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/parameters.yaml -> ironic-20.1.4.dev4/api-ref/source DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request-2.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-show-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocations-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-root-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-v1-root-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-create-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-details-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-show-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-details-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-show-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-show-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-get-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-logical-disk-properties-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-property-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/lookup-node-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-details-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-classic.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-dynamic.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-boot-device-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-state-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-supported-boot-devices-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-history-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-component-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-get-state-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-set-state.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-inject-nmi.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-maintenance-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state-deploy-steps.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-available-state.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-device.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-mode-bios.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-mode-uefi.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-clean-state.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-manage-state.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-power-off.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-raid-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-secure-boot-off.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-secure-boot-on.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-soft-power-off.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-traits-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-show-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-traits-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-validate-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vendor-passthru-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-attach-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-details-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-detail-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-request.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-response.json -> ironic-20.1.4.dev4/api-ref/source/samples DEBUG util.py:445: copying devstack/common_settings -> ironic-20.1.4.dev4/devstack DEBUG util.py:445: copying devstack/plugin.sh -> ironic-20.1.4.dev4/devstack DEBUG util.py:445: copying devstack/settings -> ironic-20.1.4.dev4/devstack DEBUG util.py:445: copying devstack/files/apache-ipxe-ironic.template -> ironic-20.1.4.dev4/devstack/files DEBUG util.py:445: copying devstack/files/apache-ironic-api-redirect.template -> ironic-20.1.4.dev4/devstack/files DEBUG util.py:445: copying devstack/files/bindep.txt -> ironic-20.1.4.dev4/devstack/files DEBUG util.py:445: copying devstack/files/hooks/qemu.py -> ironic-20.1.4.dev4/devstack/files/hooks DEBUG util.py:445: copying devstack/lib/ironic -> ironic-20.1.4.dev4/devstack/lib DEBUG util.py:445: copying devstack/tools/ironic/scripts/cirros-partition.sh -> ironic-20.1.4.dev4/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/cleanup-node.sh -> ironic-20.1.4.dev4/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/configure-vm.py -> ironic-20.1.4.dev4/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/create-node.sh -> ironic-20.1.4.dev4/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/setup-network.sh -> ironic-20.1.4.dev4/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/templates/brbm.xml -> ironic-20.1.4.dev4/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/tftpd-xinetd.template -> ironic-20.1.4.dev4/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/vm.xml -> ironic-20.1.4.dev4/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/upgrade/resources.sh -> ironic-20.1.4.dev4/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/settings -> ironic-20.1.4.dev4/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/shutdown.sh -> ironic-20.1.4.dev4/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/upgrade.sh -> ironic-20.1.4.dev4/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/from-queens/upgrade-ironic -> ironic-20.1.4.dev4/devstack/upgrade/from-queens DEBUG util.py:445: copying doc/requirements.txt -> ironic-20.1.4.dev4/doc DEBUG util.py:445: copying doc/source/conf.py -> ironic-20.1.4.dev4/doc/source DEBUG util.py:445: copying doc/source/index.rst -> ironic-20.1.4.dev4/doc/source DEBUG util.py:445: copying doc/source/_exts/automated_steps.py -> ironic-20.1.4.dev4/doc/source/_exts DEBUG util.py:445: copying doc/source/_exts/web_api_docstring.py -> ironic-20.1.4.dev4/doc/source/_exts DEBUG util.py:445: copying doc/source/admin/adoption.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-power.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-token.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/anaconda-deploy-interface.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/api-audit-support.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/bios.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/boot-from-volume.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/building-windows-images.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/cleaning.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/conductor-groups.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/console.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/deploy-steps.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/dhcp-less.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/fast-track.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/gmr.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/hardware-burn-in.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/index.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/inspection.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/metrics.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/multitenancy.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-deployment.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-multitenancy.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/notifications.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/portgroups.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/power-sync.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/radosgw.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/raid.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/ramdisk-boot.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/report.txt -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/rescue.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/retirement.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/secure-rbac.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/security.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/troubleshooting.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/tuning.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-guide.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-to-hardware-types.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/vendor-passthru.rst -> ironic-20.1.4.dev4/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers/ansible.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ibmc.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/idrac.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ilo.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/intel-ipmi.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipa.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipmitool.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/irmc.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/redfish.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/snmp.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/xclarity.rst -> ironic-20.1.4.dev4/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/interfaces/boot.rst -> ironic-20.1.4.dev4/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/admin/interfaces/deploy.rst -> ironic-20.1.4.dev4/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/cli/index.rst -> ironic-20.1.4.dev4/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-dbsync.rst -> ironic-20.1.4.dev4/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-status.rst -> ironic-20.1.4.dev4/doc/source/cli DEBUG util.py:445: copying doc/source/configuration/config.rst -> ironic-20.1.4.dev4/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/index.rst -> ironic-20.1.4.dev4/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/policy.rst -> ironic-20.1.4.dev4/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-config.rst -> ironic-20.1.4.dev4/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-policy.rst -> ironic-20.1.4.dev4/doc/source/configuration DEBUG util.py:445: copying doc/source/contributor/adding-new-job.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/architecture.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bios_develop.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bugs.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/community.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/contributing.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/debug-ci-failures.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/deploy-steps.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/dev-quickstart.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/drivers.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/faq.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/governance.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/index.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-boot-from-volume.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-multitenant-networking.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/jobs-description.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/notifications.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/osprofiler-support.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rbac-testing.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/releasing.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rolling-upgrades.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/states.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/third-party-ci.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vendor-passthru.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision-reflection.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi-version-history.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi.rst -> ironic-20.1.4.dev4/doc/source/contributor DEBUG util.py:445: copying doc/source/images/conceptual_architecture.png -> ironic-20.1.4.dev4/doc/source/images DEBUG util.py:445: copying doc/source/images/deployment_architecture_2.png -> ironic-20.1.4.dev4/doc/source/images DEBUG util.py:445: copying doc/source/images/logical_architecture.png -> ironic-20.1.4.dev4/doc/source/images DEBUG util.py:445: copying doc/source/images/states.svg -> ironic-20.1.4.dev4/doc/source/images DEBUG util.py:445: copying doc/source/install/advanced.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configdrive.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-cleaning.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-compute.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-images.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-swift.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-identity.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-integration.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipmi.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipv6-networking.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-networking.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-nova-flavors.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-pxe.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-tenant-networks.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/creating-images.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/deploy-ramdisk.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-drivers.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-https.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/enrollment.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/get_started.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/index.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/install-obs.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/install-rdo.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/install-ubuntu.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/install.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/next-steps.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/setup-drivers.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/standalone.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/troubleshooting.rst -> ironic-20.1.4.dev4/doc/source/install DEBUG util.py:445: copying doc/source/install/include/boot-mode.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-configure.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-prerequisites.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api-mod_wsgi.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-conductor.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-singleprocess.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/console.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/disk-label.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/kernel-boot-parameters.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/local-boot-partition-images.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/notifications.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/root-device-hints.inc -> ironic-20.1.4.dev4/doc/source/install/include DEBUG util.py:445: copying doc/source/install/refarch/common.rst -> ironic-20.1.4.dev4/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/index.rst -> ironic-20.1.4.dev4/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/small-cloud-trusted-tenants.rst -> ironic-20.1.4.dev4/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/standalone/configure.rst -> ironic-20.1.4.dev4/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/deploy.rst -> ironic-20.1.4.dev4/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/enrollment.rst -> ironic-20.1.4.dev4/doc/source/install/standalone DEBUG util.py:445: copying doc/source/user/architecture.rst -> ironic-20.1.4.dev4/doc/source/user DEBUG util.py:445: copying doc/source/user/creating-images.rst -> ironic-20.1.4.dev4/doc/source/user DEBUG util.py:445: copying doc/source/user/deploy.rst -> ironic-20.1.4.dev4/doc/source/user DEBUG util.py:445: copying doc/source/user/index.rst -> ironic-20.1.4.dev4/doc/source/user DEBUG util.py:445: copying doc/source/user/states.rst -> ironic-20.1.4.dev4/doc/source/user DEBUG util.py:445: copying etc/apache2/ironic -> ironic-20.1.4.dev4/etc/apache2 DEBUG util.py:445: copying etc/ironic/README-ironic.conf.txt -> ironic-20.1.4.dev4/etc/ironic DEBUG util.py:445: copying etc/ironic/README-policy.yaml.txt -> ironic-20.1.4.dev4/etc/ironic DEBUG util.py:445: copying etc/ironic/api_audit_map.conf.sample -> ironic-20.1.4.dev4/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> ironic-20.1.4.dev4/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.d/ironic-utils.filters -> ironic-20.1.4.dev4/etc/ironic/rootwrap.d DEBUG util.py:445: copying ironic/__init__.py -> ironic-20.1.4.dev4/ironic DEBUG util.py:445: copying ironic/version.py -> ironic-20.1.4.dev4/ironic DEBUG util.py:445: copying ironic.egg-info/PKG-INFO -> ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/SOURCES.txt -> ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/dependency_links.txt -> ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/entry_points.txt -> ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/not-zip-safe -> ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/pbr.json -> ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/requires.txt -> ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/top_level.txt -> ironic-20.1.4.dev4/ironic.egg-info DEBUG util.py:445: copying ironic/api/__init__.py -> ironic-20.1.4.dev4/ironic/api DEBUG util.py:445: copying ironic/api/app.py -> ironic-20.1.4.dev4/ironic/api DEBUG util.py:445: copying ironic/api/config.py -> ironic-20.1.4.dev4/ironic/api DEBUG util.py:445: copying ironic/api/functions.py -> ironic-20.1.4.dev4/ironic/api DEBUG util.py:445: copying ironic/api/hooks.py -> ironic-20.1.4.dev4/ironic/api DEBUG util.py:445: copying ironic/api/method.py -> ironic-20.1.4.dev4/ironic/api DEBUG util.py:445: copying ironic/api/wsgi.py -> ironic-20.1.4.dev4/ironic/api DEBUG util.py:445: copying ironic/api/controllers/__init__.py -> ironic-20.1.4.dev4/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/base.py -> ironic-20.1.4.dev4/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/link.py -> ironic-20.1.4.dev4/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/root.py -> ironic-20.1.4.dev4/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/version.py -> ironic-20.1.4.dev4/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/v1/__init__.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/allocation.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/bios.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/chassis.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/collection.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/conductor.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/deploy_template.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/driver.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/event.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/network-data-schema.json -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/node.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/notification_utils.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/port.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/portgroup.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/ramdisk.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/utils.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/versions.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_connector.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_target.py -> ironic-20.1.4.dev4/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/middleware/__init__.py -> ironic-20.1.4.dev4/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/auth_public_routes.py -> ironic-20.1.4.dev4/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/json_ext.py -> ironic-20.1.4.dev4/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/parsable_error.py -> ironic-20.1.4.dev4/ironic/api/middleware DEBUG util.py:445: copying ironic/cmd/__init__.py -> ironic-20.1.4.dev4/ironic/cmd DEBUG util.py:445: copying ironic/cmd/api.py -> ironic-20.1.4.dev4/ironic/cmd DEBUG util.py:445: copying ironic/cmd/conductor.py -> ironic-20.1.4.dev4/ironic/cmd DEBUG util.py:445: copying ironic/cmd/dbsync.py -> ironic-20.1.4.dev4/ironic/cmd DEBUG util.py:445: copying ironic/cmd/singleprocess.py -> ironic-20.1.4.dev4/ironic/cmd DEBUG util.py:445: copying ironic/cmd/status.py -> ironic-20.1.4.dev4/ironic/cmd DEBUG util.py:445: copying ironic/common/__init__.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/args.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/boot_devices.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/boot_modes.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/cinder.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/components.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/config.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/context.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/dhcp_factory.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/driver_factory.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/exception.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/faults.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/fsm.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/grub_conf.template -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/hash_ring.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/i18n.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/image_service.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/images.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/indicator_states.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/isolinux_config.template -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/keystone.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/kickstart_utils.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/molds.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/network.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/neutron.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/nova.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/policy.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/profiler.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/pxe_utils.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/raid.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/release_mappings.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/rpc.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/rpc_service.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/service.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/states.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/swift.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/utils.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/wsgi_service.py -> ironic-20.1.4.dev4/ironic/common DEBUG util.py:445: copying ironic/common/glance_service/__init__.py -> ironic-20.1.4.dev4/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/image_service.py -> ironic-20.1.4.dev4/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/service_utils.py -> ironic-20.1.4.dev4/ironic/common/glance_service DEBUG util.py:445: copying ironic/conductor/__init__.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/allocations.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/base_manager.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/cleaning.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/deployments.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/manager.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/notification_utils.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/periodics.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/rpcapi.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/steps.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/task_manager.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/utils.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conductor/verify.py -> ironic-20.1.4.dev4/ironic/conductor DEBUG util.py:445: copying ironic/conf/__init__.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/agent.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/anaconda.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/ansible.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/api.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/audit.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/auth.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/cinder.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/conductor.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/console.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/database.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/default.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/deploy.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/dhcp.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/drac.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/glance.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/healthcheck.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/ibmc.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/ilo.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/inspector.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/ipmi.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/irmc.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics_statsd.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/molds.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/neutron.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/nova.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/opts.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/pxe.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/redfish.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/service_catalog.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/snmp.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/swift.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/conf/xclarity.py -> ironic-20.1.4.dev4/ironic/conf DEBUG util.py:445: copying ironic/db/__init__.py -> ironic-20.1.4.dev4/ironic/db DEBUG util.py:445: copying ironic/db/api.py -> ironic-20.1.4.dev4/ironic/db DEBUG util.py:445: copying ironic/db/migration.py -> ironic-20.1.4.dev4/ironic/db DEBUG util.py:445: copying ironic/db/sqlalchemy/__init__.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic.ini -> ironic-20.1.4.dev4/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/api.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/migration.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/models.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/README -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/env.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/script.py.mako -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> ironic-20.1.4.dev4/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/dhcp/__init__.py -> ironic-20.1.4.dev4/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/base.py -> ironic-20.1.4.dev4/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/neutron.py -> ironic-20.1.4.dev4/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/none.py -> ironic-20.1.4.dev4/ironic/dhcp DEBUG util.py:445: copying ironic/drivers/__init__.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/base.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/drac.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/fake_hardware.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/generic.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/hardware_type.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ibmc.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ilo.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/intel_ipmi.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ipmi.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/irmc.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/raid_config_schema.json -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/redfish.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/snmp.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/utils.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/xclarity.py -> ironic-20.1.4.dev4/ironic/drivers DEBUG util.py:445: copying ironic/drivers/modules/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_base.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_client.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_config.template -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_power.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot.ipxe -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot_mode_utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/console_utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/deploy_utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/fake.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_cache.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/initial_grub_cfg.template -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspect_utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspector.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipmitool.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe_config.template -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ks.cfg.template -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop_mgmt.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_base.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_config.template -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_grub_config.template -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ramdisk.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/snmp.py -> ironic-20.1.4.dev4/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ansible/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/deploy.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/inventory -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> ironic-20.1.4.dev4/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: copying ironic/drivers/modules/drac/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/bios.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/boot.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/common.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/inspect.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/job.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/management.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/power.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/raid.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/vendor_passthru.py -> ironic-20.1.4.dev4/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/ibmc/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/management.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/mappings.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/power.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/raid.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/vendor.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ilo/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/bios.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/boot.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/common.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/console.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/firmware_processor.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/inspect.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/management.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/power.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/raid.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/vendor.py -> ironic-20.1.4.dev4/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/management.py -> ironic-20.1.4.dev4/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/irmc/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/bios.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/boot.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/common.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/inspect.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/management.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/packaging_version.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/power.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/raid.py -> ironic-20.1.4.dev4/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/network/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/common.py -> ironic-20.1.4.dev4/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/flat.py -> ironic-20.1.4.dev4/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/neutron.py -> ironic-20.1.4.dev4/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/noop.py -> ironic-20.1.4.dev4/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/redfish/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/bios.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/boot.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/firmware_utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/inspect.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/management.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/power.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/raid.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/utils.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/vendor.py -> ironic-20.1.4.dev4/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/storage/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/cinder.py -> ironic-20.1.4.dev4/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/external.py -> ironic-20.1.4.dev4/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/noop.py -> ironic-20.1.4.dev4/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/xclarity/__init__.py -> ironic-20.1.4.dev4/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/common.py -> ironic-20.1.4.dev4/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/management.py -> ironic-20.1.4.dev4/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/power.py -> ironic-20.1.4.dev4/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/hacking/__init__.py -> ironic-20.1.4.dev4/ironic/hacking DEBUG util.py:445: copying ironic/hacking/checks.py -> ironic-20.1.4.dev4/ironic/hacking DEBUG util.py:445: copying ironic/objects/__init__.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/allocation.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/base.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/bios.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/chassis.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/conductor.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/deploy_template.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/deployment.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/fields.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/indirection.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/node.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/node_history.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/notification.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/port.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/portgroup.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/trait.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_connector.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_target.py -> ironic-20.1.4.dev4/ironic/objects DEBUG util.py:445: copying ironic/tests/__init__.py -> ironic-20.1.4.dev4/ironic/tests DEBUG util.py:445: copying ironic/tests/base.py -> ironic-20.1.4.dev4/ironic/tests DEBUG util.py:445: copying ironic/tests/functional/__init__.py -> ironic-20.1.4.dev4/ironic/tests/functional DEBUG util.py:445: copying ironic/tests/json_samples/network_data.json -> ironic-20.1.4.dev4/ironic/tests/json_samples DEBUG util.py:445: copying ironic/tests/unit/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/policy_fixture.py -> ironic-20.1.4.dev4/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/raid_constants.py -> ironic-20.1.4.dev4/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/stubs.py -> ironic-20.1.4.dev4/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/test_base.py -> ironic-20.1.4.dev4/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/api/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/base.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl_basic.yaml -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_audit.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_functions.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_healthcheck.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_hooks.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_method.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_middleware.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_ospmiddleware.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_proxy_middleware.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_legacy.yaml -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_root.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/controllers/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/test_base.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_collection.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_driver.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_event.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_node.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_port.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_root.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_versions.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> ironic-20.1.4.dev4/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/cmd/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_conductor.py -> ironic-20.1.4.dev4/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_dbsync.py -> ironic-20.1.4.dev4/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_status.py -> ironic-20.1.4.dev4/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/common/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_args.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_cinder.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_context.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_driver_factory.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_fsm.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_glance_service.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_hash_ring.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_image_service.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_images.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_keystone.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_kickstart_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_molds.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_network.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_neutron.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_nova.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_policy.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_pxe_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_raid.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_release_mappings.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc_service.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_states.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_swift.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_wsgi_service.py -> ironic-20.1.4.dev4/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> ironic-20.1.4.dev4/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> ironic-20.1.4.dev4/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> ironic-20.1.4.dev4/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> ironic-20.1.4.dev4/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> ironic-20.1.4.dev4/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> ironic-20.1.4.dev4/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/conductor/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/mgr_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_allocations.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_base_manager.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_cleaning.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_deployments.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_manager.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_notification_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_periodics.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_rpcapi.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_steps.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_task_manager.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_verify.py -> ironic-20.1.4.dev4/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conf/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/conf/test_auth.py -> ironic-20.1.4.dev4/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/db/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/base.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_allocations.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_api.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_bios_settings.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_chassis.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_conductor.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_deploy_templates.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_history.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_tags.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_traits.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_nodes.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_portgroups.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_ports.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_connectors.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_targets.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_api.py -> ironic-20.1.4.dev4/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> ironic-20.1.4.dev4/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_models.py -> ironic-20.1.4.dev4/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_types.py -> ironic-20.1.4.dev4/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/dhcp/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_factory.py -> ironic-20.1.4.dev4/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_neutron.py -> ironic-20.1.4.dev4/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/drivers/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot-fallback.ipxe -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot.ipxe -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_config.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_grub_config.template -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_base.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_drac.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_fake_hardware.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_generic.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ibmc.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ilo.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ipmi.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_irmc.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_redfish.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_snmp.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_xclarity.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_base.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_client.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_power.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_console_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_cache.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspector.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipxe.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_pxe.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_snmp.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_common.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_job.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_management.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_power.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/base.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_common.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_flat.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_noop.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_external.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> ironic-20.1.4.dev4/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/objects/__init__.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_allocation.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_bios.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_chassis.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_conductor.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deploy_template.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deployment.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_fields.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node_history.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_notification.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_objects.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_port.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_portgroup.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_trait.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_connector.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_target.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/utils.py -> ironic-20.1.4.dev4/ironic/tests/unit/objects DEBUG util.py:445: copying playbooks/ci-workarounds/etc-neutron.yaml -> ironic-20.1.4.dev4/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/get_extra_logging.yaml -> ironic-20.1.4.dev4/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/pre.yaml -> ironic-20.1.4.dev4/playbooks/ci-workarounds DEBUG util.py:445: copying releasenotes/config.yaml -> ironic-20.1.4.dev4/releasenotes DEBUG util.py:445: copying releasenotes/notes/.placeholder -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/18.2-prelude-3c8609692bab70a3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/20.1-prelude-612672742f417477.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/5.0-release-afb1fbbe595b6bc8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/Add-port-option-support-to-ipmitool-e125d07fe13c53e7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ValueDisplayName-13837c653277ff08.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/active-node-creation-a41c9869c966c82b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-api-error-77ec6c272390c488.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-erase-fallback-b07613a7042fe236.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-iboot-0a4b5471c6ace461.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-proxy-support-790e629634ca2eb7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ansible-python-interpreter-2035e0f23d407aaf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-from-volume-support-9f64208f083d0691.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-mode-redfish-inspect-48e2b27ef022932a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-choice-to-some-options-9fb327c48e6bfda1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-cisco-ucs-hardware-types-ee597ff0416f158f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-clean-steps-priority-88d7de5973500a7d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-config-mold-steps-idrac-1773d81953209964.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-configurable-ipmi-retriables-b6056f722f6ed3b0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-db-deadlock-handling-6bc10076537f3727.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-arg-9d8c58559c14288c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-drac-raid-interface-7023c03a96996265.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-bios-interface-c73152269701ef80.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-management-interface-9d0f45954eda643a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-raid-interface-732314cea19fe8ac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-redfish-bios-interface-f5e5415108f87598.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-driver-api-fields-selector-36f12259f01b0f7a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dual-stack-dhcp-opts-6dc18ae10aeb599a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dynamic-allocation-feature-2fd6b4df7943f178.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-gmr-3c9278d5d785895f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-healthcheck-middleware-86120fa07a7c8151.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ibmc-raid-interface-0c13826e134fb4ce.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-id-and-uuid-filtering-to-sqalchemy-api.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-idrac-verify-steps-50c1a0f0fe299922.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-inband-deploy-step-update-firmware-using-sum-cfee84a19120dd3c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-uefi-https-boot-interface-f3b163a8a6243283.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-indicator-api-8c816b3828e6b43b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspect-wait-state-948f83dfe342897b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspection-abort-a187e6e5c1f6311d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipv6-pxe-support-8fb51c355cc977c4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipxe-boot-iso-support-6ae2f5cc2250be3e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iscsi-portal-port-option-bde3b386f44f2a90.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-less-vmedia-ilo-5816922c03d0fd85.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-param-config-ilo-9b2cee8b0447f82e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-params-redfish-72b87075465c87f6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-more-sources-redfish-firmware-update-3da89f10dc0f8d21.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-neutron-request-timeout-1f7372af81f14ddd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-bios-9c1c3d442e8acdac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-boot-mode-control-9761d4bcbd8c3a0d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-description-790097704f45af91.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-event-history-99c6166607a90f3c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-resource-class-c31e26df4196293e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-notifications-97b6c79c18b48073.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-oneview-driver-96088bf470b16c34.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-option-persistent-boot-device-139cf280fb66f4f7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-owner-information-52e153faf570747e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-parallel-power-syncs-b099d66e80aab616.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-advanced-net-fields-55465091f019d962.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-internal-info-b7e02889416570f7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-is-smartnic-4ce6974c8fe2732d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-prep-partition-support-d808849795906e64.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-protection-for-available-nodes-25f163d69782ef63.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-nic-support-in-redfish-5359897135df1348.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-per-node-526fd79df17efda8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-support-for-petitboot-50d1fe4e7da4bfba.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-realtime-support-d814d5917836e9e2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-auth-type-5fe78071b528e53b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-interface-e7e05bdd2c894d80.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-mode-support-2f1a2568e71c65d0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot_iso-pass-through-8a6f4d0c98ada1d5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-inspect-interface-1577e70167f24ae4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-sensors-4e2f7e3f8a7c6d5b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-2c1f09271f96424d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-9509f3735df2aa5d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-inspection-support-e68fd6d57cb33846.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-baytech-mrp27-5007d1d7e0a52162.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-discovery-1f280b7f06fd1ca5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-read-write-community-names-7589a8d1899c142c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmpv3-security-features-bbefb8b844813a53.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-socat-console-ipmitool-ab4402ec976c5c96.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ssl-support-4547801eedba5942.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-storage-interface-d4e64224804207fc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-no-poweroff-on-failure-86e43b3e39043990.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-smart-nic-0fc5b10ba6772f7f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-to-manage_certs-b6615e15f697bc26.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-target-raid-config-ansible-deploy-c9ae81d9d25c62fe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-timeout-parameter-to-power-methods-5f632c936497685e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-tooz-dep-85c56c74733a222d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-2202e8ce9a174ece.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-to-boot-interface-bd74aff9e250334b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-verify-steps-support-2b34a74e86f89cb4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_automated_clean_field-b3e7d56f4aeaf512.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_clear_job_queue-7b774d8d0e36d1b2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_reset_idrac_and_known_good_state-cdbebf97d7b87fe7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_conversion_flags_iscsi-d7f846803a647573.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_cpu_fpga_trait_for_irmc_inspection-2b63941b064f7936.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_detail_true_api_query-cb6944847830cd1a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_infiniband_support-f497767f77277a1a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_retirement_support-23c5fed7ce8f97d4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_security_capabilities_to_ilo-1ff11b01e5930cc7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/added-redfish-driver-00ff5e3f7e9d6ee8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-audit-middleware-b95f2a00baed9750.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-security-param-clean-step-00d5548072a397f2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-external-storage-interface-9b7c0a0a2afd3176.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ilo-ipxe-boot-interface-4fc75292122db80d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-nvme-erase-switch-fa91e867e45ede3c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-39fc61bc77b57beb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-support-to-ilo-vmedia-1a7228a834465633.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-secure-erase-switch-23f449c86b3648a4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-ironic-context-5e75540dc2b2f009.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-oslo-config-generator-15afd2e7c2f008b4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-validation-7249ceb57016f0e4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adoption-feature-update-d2160954a2c36b0a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-api-bf9f18d8d38075e4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-can-request-reboot-6238e13e2e898f68.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-client-poll-ce16fd589e88c95a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-command-status-retry-f9b6f53a823c6b01.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-http-provisioning-d116b3ff36669d16.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-a000fdf37cb870e4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-off-2115fcfaac030bd0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-647acfd599e83476.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-validate-f7348ac034606b83.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-rebooted-fab20d012fe6cbe8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-817a03776bd46d5b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-support-0a5b5aa1585dfbb5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-uuid-5d86bc18849acda3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-6efa3dfc469bab02.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-ddbfbb0f27198d82.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-wol-driver-4116f64907d0db9c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent_partition_image-48a03700f41a3980.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allinone-190ae91884d81154.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allinone-4ca71f150a718811.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-added-owner-policy-c650074e68d03289.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-api-6ac2d262689f5f59.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-backfill-c31e84c5fcf24216.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-delete-26c7c2f1651759f5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-owner-policy-162c43b3abb91c76.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocations-restricted-rbac-create-2847943150656432.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-allocation-update-94d862c3da454be2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-deleting-unbound-ports-fa78069b52f099ac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-pxelinux-config-folder-to-be-defined-da0ddd397d58dcc8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-set-interface-to-node-in-available-bd6f695620c2d77f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-to-attach-vif-to-active-node-55963be2ec269043.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_custom_certificate_validation-8ba00759ed79e429.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_to_disable_automated_clean-a3ccb1e19940a7a4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/always-return-chassis-uuid-4eecbc8da2170cb1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/amt-driver-wake-up-0880ed85476968be.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-config-drive-fixes-5880884e34584549.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-more-fixes-58d996c7031c8c4b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-instance-info-fix-a51837d8ac7b41de.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-deploy-15da234580ca0c30.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-fast-track-cbecb132b6ff2b14.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-loops-de0eef0d5b79a9ff.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/any-wsgi-8d6ccb0590104146.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/apache-multiple-workers-11d4ba52c89a13e3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-3fdca1ccbb64d9b0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-cdb95e58b69a5c50.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-workers-c06ea95a0c55b8cf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/assume-gpt-for-uefi-boot-mode-8f9c77721394459a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async-deprecate-b3d81d7968ea47e5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async_bios_clean_step-7348efff3f6d02c1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/auto-ifaces-fdb8c680eab711f4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/automated_clean_config-0170c95ae210f953.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/backfill_version_column_db_race_condition-713fa05832b93ca5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/better-handle-skip-upgrade-3b6f06ac24937aa4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bfv-pxe-boot-3375d331ee2f04f2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-config-manage-ccefd24054cc73ee.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-interface-api-ref-ebf866cc7da2270b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-interface-api-ref-validate-ddb95461adb0e478.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-registry-support-e7fd62908e9c222d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-version-dfd5c95805c295c5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/blank-mac-f8e0b37e0bd6d719.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bmc_reset-warm-9396ac444cafd734.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-from-url-98d21670e726c518.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-ipxe-inc-workaround-548e10d1d6616752.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-validate-6b4b6b40c8e27273.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bootloader-copy-for-network-boot-190c713cb5e872d8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bootloader-install-fatal-6f1b9fed1d2c0ee4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bp-nova-support-instance-power-update-49c531ef13982e62.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/broken-driver-update-fc5303340080ef04.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1506657-3bcb4ef46623124d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1518374-decd73fd82c2eb94.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1548086-ed88646061b88faf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1570283-6cdc62e4ef43cb02.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1579635-cffd990b51bcb5ab.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1592335-7c5835868fe364ea.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1596421-0cb8f59073f56240.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1607527-75885e145db62d69.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611555-de1ec64ba46982ec.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611556-92cbfde5ee7f44d6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1672457-563d5354b41b060e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1694645-57289200e35bd883.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1696296-a972c8d879b98940.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1702158-79bf57bd4d8087b6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749433-363b747d2db67df6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749860-457292cf62e18a0e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2001832-62e244dc48c1f79e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002062-959b865ced05b746.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002093-9fcb3613d2daeced.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2003972-dae9b7d0f6180339.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004265-cd9056868295f374.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004947-e5f27e11b8f9c96d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005377-5c63357681a465ec.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005764-15f45e11b9f9c96d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006266-85da234583ca0c32.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006275-a5ca234683ca4c32.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006334-0cd8f59073f56241.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007551-aliases-for-a-few-named-state-transitions-a32433ad65638706.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007567-wsman-raid-48483affdd9f9894.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007963-idrac-wsman-raid-apply-configuration-792ccf195057016b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2008058-fix-factory-reset-status.yaml-52a6119b46e33b37.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2009762-403eac24c4823d2d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30315-e46eafe5b575f3da.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30316-8c53358681e464eb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30317-a972c8d879c98941.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-35702-25da234580ca0c31.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-configdrive-5b3b9095824faf4e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-iso-from-esp-d156036aa8ef85fb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-uefi-only-iso-ce6bcb0da578d1d6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bump-min-ansible-ver-a78e7885c0e9d361.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bye-bye-iscsi-658920cf126db0b8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cache-agentclient-per-task-ec2231684e6876d9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/caseless-conductor-restart-check-f70005fbf65f6bb6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/catch-third-party-driver-validate-exceptions-94ed2a91c50d2d8e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-default-boot-option-to-local-8c326077770ab672.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ipxe-default-file-a9ed5e17fc3d022e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ramdisk-log-filename-142b10d0b02a5ca6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change_default_use_ipmitool_retries-2529ce032eae7d1b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-dynamic-allocation-enabled-e94f3b8963b114d0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_obj_versions-e86d897df673e833.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cinder-2019892-6b5a9de5c5f05aa6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cipher_suite_versions-c64644860d3c220d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cisco-drivers-deleted-5a42a8c508704c64.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clean-nodes-stuck-in-cleaning-on-startup-443823ea4f937965.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-bios-d74a4947d2525b80.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-error-5c13c33c58404b97.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-logs-dc115b0926ae3982.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-maintenance-7ae83b1e4ff992b0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-retry-fix-89a5d0e65920a064.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-token-9755f96d1284f78a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-ipxe-f1349e2ac9ec2825.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanwait_timeout_fail-4323ba7d4d4da3e6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-hung-iscsi-sessions-d3b55c4c65fa4c8b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-node-target-power-state-de1f25be46d3e6d7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-target-stable-states-4545602d7aed9898.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear_ca_cert-db41e7be9723c0fb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/collect-deployment-logs-2ec1634847c3f6a5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-groups-c22c17e276e63bed.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-power-sync-timeout-extension-fa5e7b5fdd679d84.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-version-backfill-9d06f2ad81aebec3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor_early_import-fd29fa8b89089977.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-deploy-image-5adb6c1963b149ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/config-drive-support-for-whole-disk-images-in-iscsi-deploy-0193c5222a7cd129.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-format-1b11f6068bd742cd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-render-8eb398d956393d60.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-in-anaconda-deploy-f2aad59b4ff809ec.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-using-ceph-radosgw-8c6f7b8bede2077c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-vendordata-122049bd7c6e1b67.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive_use_object_store-93cfd7dc27d90003.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configure-notifications-72824356e7d8832a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/console-port-allocation-bb07c43e3890c54c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/continue-node-deploy-state-63d9dc9cdcf8e37a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-api-version-check-conditional-for-nodename-439bebc02fb5493d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-detailed-instance-info-behavior-1375914a30621eca.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-port-on-conductor-b921738b4b2a5def.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create_node_indexes-841b679e6cf332fd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-agent-deploy-88989512c29a14c1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-params-cleaning-f938549964ff6df0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-check-version-c71d5f4fd89ed117.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-online_data_migration-edcf0b1cc3667582.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-no-api-tracebacks-a8a0caddc9676b06.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-sensor-data-fix-for-ipmitool-eb13e80ccdd984db.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decomposed-steps-9644d3b5ccbad1ea.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decouple-boot-params-2b05806435ad21e5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-boot-mode-changing-in-yoga-5012348ecfc2f45d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-policy-file-change-474a342d6b5a041a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-resource-class-e11bacfb01d6841b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-swift_account-b008d08e85bdf154.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-api-url-eb2ea29aa63a2cb5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-cinder-url-cf43cd0336c22878.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-fatal_exception_format_errors-f63b15c8aa460dff.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dell-boss-raid1-ec33e5b9c59d4021.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deny-too-long-chassis-description-0690d6f67ed002d5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-iso-swift-355ad6eba6c511b4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-configdrive-86ea2bb267211b88.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-error-d343e8cb7d1b2305.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-validate-76b2aa97e02ba669.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-steps-required-aa72cdf1c0ec0e84.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-templates-5df3368df862631c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy_steps-243b341cf742f7cc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deployment-cleaning-polling-flag-be13a866a7c302d7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-agent-passthru-67d1e2cf25b30a30.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-cisco-drivers-3ae79a24b76ff963.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-clustered-compute-manager-3dd68557446bcc5c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-glance-url-scheme-ceff3008cf9cf590.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-global-region-4dbea91de71ebf59.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-hash-distribution-replicas-ef0626ccc592b70e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-ibmc-9106cc3a81171738.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-inspector-enabled-901fd9c9426046c7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-irmc-031f55c3bb1fb863.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-support-for-glance-v1-8b194e6b20cbfebb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-config-af9b753f96779f42.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-cinder-opts-e10c153768285cab.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-glance-opts-4825f000d20c2932.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-0520b08dbcd10681.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-b19a08339712cfd7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-ops-79abab5b013b7939.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-opts-2e1d9e65f00301d3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/destroy-broken-8b13de8382199aca.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-less-less-2a35df67d840f9d5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-provider-clean-dhcp-9352717903d6047e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpless-deploy-4b91de74adeff781.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpv6-stateful-address-count-0f94ac6a55bd9e51.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-deploy-steps-36486987156017d7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-fast-track-d0f43850b6e80751.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-file-6f80728d76093530.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-clean-step-reset-ilo-1869a6e08f39901c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-ramdisk-5156a009812fbb17.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_task-590a91c0a5235cfb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_tasks-0ea39fa7a8a108c6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-capability-d36d126e0ad36dca.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-fix-7580de913835ff44.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-cleanup-cache-twice-0395a50ad723bca8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-validate-local_link_connection-when-port-has-client-id-8e584586dc4fca50.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-double-manage-provide-cycle-6ac8a427068f87fe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-get_bios_config-vendor-passthru-causes-exception-1e1dbeeb3e924f29.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-oob-cleaning-b4b717895e243c9b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-power-on-reboot-race-condition-fe712aa9c79ee252.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-prepare-cleaning-d74ba45135d84531.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-raid10-greater-than-16-drives-a4cb107e34371a51.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-inspection-interface-b0abbad98fec1c2e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-list-unfinished-jobs-10400419b6bc3c6e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-migrate-to-dracclient-2bd8a6d1dd3fdc69.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-missing-lookup-3ad98e918e1a852a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-raid-interface-f4c02b1c4fb37e2d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac_host-deprecated-b181149246eecb47.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/driver-maintenance-0945c2939fa4e917.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-ironic-lib-rootwrap-filters-f9224173289c1e30.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-py-2-7-5140cb76e321cdd1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dual-stack-ironic-493ebc7b71263aaa.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/duplicated-driver-entry-775370ad84736206.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/emit-metrics-for-api-calls-69f18fd1b9d54b05.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/empty-physical-network-2248a4adef210289.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enable-osprofiler-support-e3839b0fa90d3831.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enhanced-checksum-f5a2b7aa8632b88f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ensure-unbind-flat-vifs-and-clear-macs-34eec149618e5964.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/erase-devices-metadata-config-f39b6ca415a87757.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/error-resilient-enabled_drivers-4e9c864ed6eaddd1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/exclude-current-conductor-from-offline-conductors-2e2ef401a8b7d7e8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/explicit_ipxe_config_options-d7bf9a743a13f523.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/expose-conductor-d13c9c4ef9d9de86.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/extends-install-bootloader-timeout-8fce9590bf405cdf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/external-ip-5ec9b7b55a90cec4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fail-when-vif-port-id-is-missing-7640669f9d9e705d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake-interfaces-9778071f6379227b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake-noop-bebc43983eb801d1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake_soft_power-32683a848a989fc2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-bios-fa9ae685c151dd24.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-deployment-f09a8b921b3aae36.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-opt-d50eab2cc58fddcb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-per-node-1fc62918e03fd74a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-steps-81bd79a2a91e1b30.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-validate-723f27986a012ffe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-with-cleaning-438225116a11662d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fifteen-0da3cca48dceab8b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/file-name-too-long-72265bb3fec704f8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fips-hashlib-bca9beacc2b48fe7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-clean-up-9a25deb85bc53d9b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-ilo-temp-image-cleanup-711429d0e67807ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-anaconda-deploy-interface-bfa2cfca22b04680.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-node-name-updates-f3813295472795be.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-60bc0790ada62b26.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-71c1f2905498c50d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-url-for-v6-802abde9de8ba455.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-bug-1675529-479357c217819420.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-busy-agent-check-3cf75242b4783009.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-capabilities-as-string-agent-7c5c7975560ce280.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-clean-steps-not-running-0d065cb022bc0419.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-spawn-error-60b60281f3be51c2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-with-traits-3a54faa70d594fd0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-conductor-list-raise-131ac76719b74032.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-context-image-hardlink-16f452974abc7327.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cpu-count-8904a4e1a24456f4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-create-configuration-0e000392d9d7f23b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cve-2016-4985-b62abae577025365.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-delete_configuration-with-multiple-controllers-06fc3fca94ba870f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-dir-permissions-bc56e83a651bbdb0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-do-not-tear-down-nodes-upon-cleaning-failure-a9cda6ae71ed2540.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drac-job-state-8c5422bbeaf15226.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drives-conversion-before-raid-creation-ea1f7eb425f79f2f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-duplcate-extra-dhcp-options-4edb729cb5bcf552.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-esp-grub-path-9e5532993dccc07a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fast-track-entry-path-467c20f97aeb2f4b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fields-missing-from-next-url-fd9fddf8e70b65ea.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-boot-device-not-persistent-de6159d8d2b60656.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-deploy-info-port.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-gmr-37332a12065c09dc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-grub2-config-file-name-88e689a982a21684.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-idrac-wsman-deploy-with-existing-non-bios-jobs-78aa2195d0c3016f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-drivers-log-message-c3c64c1ca0a0bca8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-firmware-update-swift-path-with-pseudo-folder-0660345510ec0bb4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-inspection-for-idrac-34b3ea09452af8be.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-instance-master-path-config-fa524c907a7888e5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipa-ephemeral-partition-1f1e020727a49078.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmi-numeric-password-75e080aa8bdfb9a2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmitool-console-empty-password-a8edc5e2a1a7daf6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-option6-tag-549093681dcf940c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-provisioning-routed-provider-network-bbd0c46559f618ac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-interface-without-opt-enabled-4fa2f83975295e20.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-macro-4ae8bc4fe82e8f19.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-template-for-whole-disk-image-943da0311ca7aeb5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-enforcing-snmpv3-with-fips-e45971d363925ec3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-inspection-c9ae3864a96b2588.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-json-rpc-client-ssl-2438a731beb3d5f9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-keystone-parameters-cdb93576d7e7885b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-48060f9e2847a38c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-update-with-contrail-b1e1b725cc0829c2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mitaka-ipa-iscsi.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-multi-attached-volumes-092ffedbdcf0feac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-net-ifaces-rebuild-1cc03df5d37f38dd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data-e10f2bf9dc38ba1a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data2-f2600afdcc182dc4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-nonetype-object-is-not-iterable-0592926d890d6c11.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-noop-net-vif-list-a3d8ecee29097662.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-not-exist-deploy-image-for-irmc-cb82c6e0b52b8a9a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deallocate-server-8256e279af837e5d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deploy-return-values-ab2ec6ae568d95a5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-online-version-migration-db432a7b239647fa.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-pagination-marker-with-custom-field-query-65ca29001a03e036.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-path-a3a0cfd2c135ace9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-prepare-instance-for-agent-interface-56753bdf04dd581f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-provisioning-port-cleanup-79ee7930ca206c42.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-reboot-log-collection-c3e22fc166135e61.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-bios-apply-configuration-error-handling-464695b09e4f81ac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-firmware-images-validation-9b5b2fd28314ce66.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-firmware-upgrade-7ef2fcb6bfd74e67.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-config-9e868c3e069475a1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-deploy-steps-e9ee1ea3d1f2a475.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-failed-tasks-02487c4698dea176.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-interface-type-4b3566b637cc2301.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-onreset-workflow-bfa44de6b0263a1f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-sadness-workaround-ed02cb310ff369f4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-vm-boot-idrac-37ec734e6643cbac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-security-group-list-add-query-filters-f72cfcefa1e093d2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sendfile-size-cap-d9966a96e2d7db51.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sensors-storage-ed5d5bbda9b46645.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-pipe-not-ready-f860c4b7a1ef71a8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-socat-command-afc840284446870a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-step-priority-overrides-edecff2a6c68dcac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-subscription-vendor-passthru-5a9af3613c0cbebc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-binary-upload-bf9471fca29290e1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-ssl-options-d93d653dcd404960.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sync-power-state-last-error-65fa42bad8e38c3b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-tftp-master-path-config-77face94f5db9af7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-updating-node-driver-to-classic-16b0d5ba47e74d10.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-url-collisions-43abfc8364ca34e7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vif-detach-fca221f1a1c0e9fa.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-virtualbox-localboot-not-working-558a3dec72b5116b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-bios-async-step-error-handling-80cd30c54c71c595.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-raid-async-step-error-handling-f44e2001ac018d12.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-xclarity-management-defect-ec5af0cc6d1045d9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_deploy_validation_resp_code-ed93627d1b0dfa94.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url-42fb4023fde9da2b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url_ports-8d2696a6a7ab012f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pending_non_bios_job_execution-4b22e168ac915f4f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_raid0_creation_for_multiple_disks-f47957754fca0312.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-deployment-failure-with-fasttrack-f1fe05598fbdbe4a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-execution-of-out-of-band-deploy-steps-1f5967e7bfcabbf9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-get-boot-option-for-software-raid-baa2cffd95e1f624.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-ilo5-redfish-firmware-update-issue-c6dfcd71a2f659a5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-noop-network-with-grub-8fd99a73b593ddba.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/flag_always_reboot-62468a7058b58823.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-persistent-common-6ef2537f7ccd0dcb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/futurist-e9c55699f479f97a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-bios-registry-aadc74800e0770f7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-commands-status-timeout-ecbac91ea149e755.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-supported-boot-devices-manadatory-task-0462fc072d6ea517.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-deprecations-21e7014b72a1bcef.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-keystone-dd30b884f07f83fb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-v2-83b04fec247cd22f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/gpu_dynamic_capabilities-b56b90549882b6c2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/grub-default-change-to-mac-1e301a96c49acec4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-initial-version-no-such-table-54c3c291050ae787.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-missing-table-in-status-check-512c1732dec56f62.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-older-agent-command-5930124fd03bb327.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-6ce212ab86c2592d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-algo-4337c18117b33070.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hctl-root-device-hints-0cab86673bc4a924.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat-locked-6e53b68337d5a258.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat_agent_version-70f4e64b19b51d87.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hexraw-support-removed-8e8fa07595a629f4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/html-errors-27579342e7e8183b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-basic-auth-f8c0536eba989918.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-local-4e8f32c6d5309f12.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hw-ifaces-periodics-af8c9b93ecca9fcd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-38-169438974508f62e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-driver-45fcf9f50ebf0193.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmcclient-fix-8c6cb49be0aef5f2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-ehba-support-10b90c92b8865364.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-gpu-reporting-support-f4d80e2071f85f6a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-initial-redfish-support-27f27f18f3c1cd91.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-more-gpu-support-c3e24d8471ed6759.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-bios-support-3633d2fc94d31f62.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-boot-support-036396b48d3f71f4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-inspect-support-ce74bd3d4a97b588.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-raid-support-414aad5e633a160f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-advance-python-dracclient-version-01c6ef671670ffb3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-jbod-to-raid-1a229627708e10b9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-raid-to-jbod-de10755d1ec094ea.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-deprecated-idrac-interface-__init__-362696b389c86d5d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-reboot-failure-c740e765ff41bcf0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-hardware-type-54383960af3459d0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-conf-partial-success-86b8bd1983d227f6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-configuration-task-deleted-2a0e6a96509394b6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-clean-steps-not-require-ramdisk-699e169af39b0dd6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-raid-clear-foreign-config-9ce4ec35cf6d7225.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-raid-convert-from-nonraid-e9b5bbac89c71537.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-remove-commit_required-d9ea849e8f5e78e2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-uefi-boot-mode-86f4694b4247a1ca.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-bios-interface-b39a51828f61eff6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-clean-steps-not-require-ramdisk-ca98aa5c0a88f727.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-completed-with-errors-f65c9a48ed4c02d4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-set-power-state-wait-cd8f9ff41b19c7a7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-async-bios-clean-steps-15e49545ba818997.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-automated-cleaning-fails-14ee438de3dd8690.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-bios-settings-bc91524c459a4fd9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-from-iscsi-volume-41e8d510979c5037.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-interface-92831b78c5614733.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-iso-696b57f44f29852d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-deploy-iso-0c88edb5daff8a4e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-do-not-power-off-non-deploying-nodes-0a3aed7c8ea3940a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-erase-device-priority-config-509661955a11c28e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-firmware-update-manual-clean-step-e6763dc6dc0d441b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-inspection-b169ad0a22aea2ff.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-uefi-iscsi-boot-702ced18e28c5c61.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-hardware-type-48fd1c8bccd70659.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inconsistent-default-boot-mode-ef5a7c56372f89f1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inject-nmi-f487db8c3bfd08ea.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-license-activate-manual-clean-step-84d335998d708b49.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-managed-inspection-8b549c003224e011.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-prefix-d5a65ac637f82f65.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-remove-deprecated-power-retry-ba29a21f03fe8dbb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-soft-power-operations-eaef33a3ff56b047.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-support-boot-mode-management-apis-8173002daf79894c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-update-proliantutils-version-fd41a7c2a27be735.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-vendor-e8d299ae13388184.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-one-button-secure-erase-f55628f8aa767c20.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-raid-a0eac60f7d77a4fc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-sanitize-disk-erase-cc76ea66eb5fe6df.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-4082178dabd64249.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-size-28a9072901b98edf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-checksum-recalculation-sha256-fd3d5b4b0b757e86.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-download-http-976c82f440c61c96.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-no-data-c281f638d3dedfb2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-type-ac259a90393bdd2c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_checksum_optional-381acf9e441d2a58.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_download_source-842282c70b226e93.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_rootfs_uuid-1ea54ba043d1aeaf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/implement-policy-in-code-cbb0216ef5f8224f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-conductor-shutdown-42687d8b9dac4054.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-redfish-set-boot-device-e38e9e9442ab5750.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improves-node-retrieval-performance-cf5a02eb629bf32c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/in-band-steps-e4a1fe759029fea5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/initial_grub-566688b16f773fcf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/initrd_filename-ac68e96f1c9fb576.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-agent-drivers-cad619ec8a4874b1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-boot-network-59fd23ca62b09e81.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-logging-e1172f549ef80b04.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-token-b3d9e8e34341d680.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-for-cisco-bffe1d1af7aec677.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-kernel-params-6db82c633d7361e2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-periodics-34449c9d77830b3c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-pxe-boot-9ab9fede5671097e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-session-179f83cbb0dc169b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-boot-mode-25732c767593f849.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-interface-override-287c7fcff1081469.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-interface-override-fix-043df41199529892.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-root-device-0a5190240fcc8fd8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/intel-ipmi-hardware-30aaa65cdbcb779a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid-mac-b0e3d99f23afeb30.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid_cross_device_link-7ecf3543a8ada09f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-command-retries-and-timeout-29b0be3f2c21328c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-erase_devices-skip-read-only-9f8cd9278c35a84e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-streams-raw-images-1010327b0dad763c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cipher-suite-499097740f7c86ee.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cmd-for-ipmi-consoles-2e1104f22df3efcd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-console-port-ec6348df4eee6746.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-debug-1c7e090c6cc71903.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-noop-mgmt-8fad89dc2b4665b8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-retries-min-command-interval-070cd7eff5eb74dd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_command_retry_timeout-889a49b402e82b97.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_hex_kg_key-8f6caabe5b7d7a9b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipminative-bootdev-uefi-954a0dd825bcef97.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-bootdev-persistent-uefi-b1181a3c82343c8f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-use_ipmitool_retries-b55b2b8ed5cab603.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-vendor-3f0f52240ebbe489.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-and-uefi-7722bd5db71df02c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-boot-interface-addition-faacb344a72389f2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-default-628380290fbdbab6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-dhcp-b799bc326cd2529a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-fallback-a10c8ce422caa429.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-uefi-f5be11c7b0606a84.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-use-swift-5ccf490daab809cc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-with-dhcpv6-2bc7bd7f53a70f51.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_retry_on_failure-e71fc6b3e9a5be3b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_timeout_parameter-03fc3c76c520fac2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-certification-file-option-34e7a0062c768e58.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-clean-step-reset-bios-config-a8bed625670b7fdf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmp-auth-protocols-3ff7597cea7ef9dd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmpv3-security-fca05bfc30f50d1a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-additional-capabilities-4fd72ba50d05676c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-align-with-ironic-default-boot-mode-dde6f65ea084c9e6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-append-params-380a281db43e6013.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-from-volume-4bc5d20a0a780669.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-interface-8c2e26affd1ebfc4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-iso-0e93f97acfa59778.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-change-the-way-to-get-irmc-info-in-raid-8ef5f5f60d1f534a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-convert-the-value-of-irmc-port-63c90450b5a77203.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-dealing-with-ipxe-boot-interface-incompatibility-7d0b2bdb8f9deb46.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-fix-repeatedly-resuming-clean-020f0dfc2e30d7bc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-create-raid-configuration-bccef8496520bf8c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-oob-inspection-6d072c60f6c88ecb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-set-polling-after-raid-build-5f78ee3e93a92553.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-support-ipmitool-power-a3480a70753948e5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11-prelude-6dae469633823f8d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11.1-prelude-b5ba8134953db4c2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-cfg-defaults-4708eed8adeee609.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-python-agent-multidevice-fix-3daa0760696b46b7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-status-upgrade-check-framework-9cd216ddf3afb271.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-ansible-steps-817b52269d2455b0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-deprecation-eb184141f88e7182.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-inband-cleaning-bff87aac16e5d488.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-verify-attempts-28b1d00b13ba365a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-whole-disk-cd464d589d029b01.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iso-cache-5330b63c9e3a02db.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/issue-conntrack-bionic-7483671771cf2e82.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-0edc429696aca6f9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-bind-a0348cc6f5efe812.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-ipv6-host-30eca350f34bc091.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-timeout-ac30eea164b3a294.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json_rpc_http_basic-42dfc6ca2471a30e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonrpc-logging-21670015bb845182.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema-4.8-1146d103b877cffd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema-966f55fc79b916fc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema_draft04-1cb5fc4a3852f9ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystone-auth-3155762c524e44df.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-adapter-opts-ca4f68f568e6cf6f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-config-1baa45a0a2dd93b4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/kill-old-ramdisk-6fa7a16269ff11b0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/known-issue-idrac-firmware-swift-721a19cac796e1ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/known-issue-idrac-firmware-swift-fixed-f9d30e60a53d96c4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/limit-boot-to-disk-calls-lenovo-39763bfc98f602d8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/list-nodes-by-driver-a1ab9f2b73f652f8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/logging-keystoneauth-9db7e56c54c2473d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-heartbeat-f9772521d12a0549.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-ignore-malformed-macs-09e7e909f3a134a3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-terminal-session-timeout-configurable-b2365b7699b0f98b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-versioned-notifications-topics-configurable-18d70d573c27809e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-clean-4cc2437be1aea69a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-configdrive-contents-77fc557d6bc63b2b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mdns-a5f4034257139e31.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/messaging-log-level-5f870ea69db53d26.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/metrics-notifier-information-17858c8e27c795d7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate-to-pysnmp-hlapi-477075b5e69cc5bc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_to_hardware_types-0c85c6707c4f296d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_vif_port_id-5e1496638240933d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/min-sushy-version-change-3b697530e0c05dee.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/minor-agent-version-cleanup-842e3919a366b9d6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/missing-sw-raid-b7fdc9259612970d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multitenant-networking-0a13c4aba252573e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-root-device-hints-a1484ea01e399065.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-suffix-47aea2d265fa75ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/needs-agent-version-in-heartbeat-4e6806b679c53ec5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/net-names-b8a36aa30659ce2f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/netboot-deprecation-fe5751a47df2d0b7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/netboot-fallback-b208b2c3b40a0d01.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network-flat-use-node-uuid-for-binding-hostid-afb43097e7204b99.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network_data_schema-9342edf3c47b2a66.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-timeout-cbd82e1d09c6a46c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-update-598183909d44396c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/new_capabilities-5241619c4b46a460.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/newton-driver-deprecations-e40369be37203057.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/next-link-for-instance-uuid-f46eafe5b575f3de.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-cache-df7caa45f3d8b6d7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-drivers-e68d8527491314c3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-idrac-4fbf1ba66c35fb4a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ilo-7822af6821d2f1cc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ipmi-7ec52a7b01e40536.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-irmc-3a606045e87119b7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-oneview-e46ee2838d2b1d37.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-snmp-b77d267b535da216.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ucs-cimc-7c62bb189ffbe0dd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-coreos-f8717f9bb6a64627.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-deploy-rpc-dec8ee1d0326d1ad.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-downward-sql-migration-52279e875cd8b7a3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-308b50d4ab83ca7a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-bootif-505cc5bf48e7731f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-glance-v1-d249e8079f46f40c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-heartbeat-retries-d6837684e7257249.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-instance-uuid-workaround-fc458deb168c7a8b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-last-error-overwrite-b90aac3303eb992e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-more-legacy-auth-eeb32f907d0ab5de.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-power-on-842b21d55b07a632.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-root-device-as-kernel-param-5e5326acae7b77a4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-sensors-in-maintenance-7a0ecf418336d105.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-ssh-drivers-6ee5ff4c3ecdd3fb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-tokenless-agents-c6c16d79ccc0da7a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-boot-mode-0662effa2a2644dc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-boot-mode-change-api-c5e392e3cd6ea54b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-credentials-cleaning-b1903f49ffeba029.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-deletion-update-resources-53862e48ab658f77.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-fault-8c59c0ecb94ba562.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-in-maintenance-fail-afd0eace24fa28be.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-lessee-4fb320a597192742.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-name-remove-720aa8007f2f8b75.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-network-data-6f998aaa57020f4b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-d7168976bba70566.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-ports-1d3193fd897feaa6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-provision-fix-ee2348b5922f7648.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-save-internal-info-c5cc8f56f1d0dab0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-storage-interface-api-1d6e217303bd53ff.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-stuck-when-conductor-down-3aa41a3abed9daf5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-traits-2d950b62eea24491.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-update-instance-info-extra-policies-862b2a70b941cf39.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/nodes-classic-drivers-cannot-set-interfaces-620b37c4e5c88b80.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/non-persistent-boot-5e3a0cd78e9dc91b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/noop-mgmt-a4b1a248492c7638.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notifications_driver_internal_info-3012f9834b6ade6b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-node-storage-interface-7fd07ee7ee71cd22.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-topic-451493784ce45e73.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notimplementederror-misspell-276a181afd652cf6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ocata-summary-a70f995cb3b18e18.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-agent-mixin-removal-b7277e8f20df5ef2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-hardware-type-69bbb79da434871f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-node-free-for-ironic-61b05fee827664cb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timeout-power-db5125e05831d925.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timing-metrics-0b6c1b54e80eb683.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/online_data_migration_update_versions-ea03aff12d9c036f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/only_default_flat_network_if_enabled-b5c6ea415239a53c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oob-power-off-7bbdf5947ed24bf8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/opentack-baremetal-request-id-daa72b785eaaaa8d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-driver-task-pattern-322e02b6a2233919.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-ramdisk-log-filename-270c401780b16e9c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/option-no-cache-http-ramdisk-62fc29cdd1d5b152.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optional-redfish-system-id-3f6e8b0ac989cb9b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/orphan-nodes-389cb6d90c2917ec.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-proxy-headers-middleware-22188a2976f8f460.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-reports-optional-59469955eaffdf1d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/osprofiler-61a330800abe4ee6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-6c54b4131b4ba991.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-erasure-1943da9b53a2095d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/partprobe-retries-e69e9d20f3a3c2d3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-metrics-config-to-agent-on-lookup-6db9ae187c4e8151.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-region-to-swiftclient-c8c8bf1020f62ebc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass_portgroup_settings_to_neutron-a6aec830a82c38a3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/periodic-clean-up-29c33d2516bf16ec.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/periodic-tasks-drivers-ae9cddab88b546c6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/persist-redfish-sessions-d521a0846fa45c40.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pin-api-version-029748f7d3be68d1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-0-is-valid-d7188af3be6f3ecb.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-bad-request-078512862c22118e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-by-project-8cfaf3b2cf0dd627.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-local-link-connection-network-type-71103d919e27fc5d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-physical-network-a7009dc514353796.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port_delete-6628b736a1b556f6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-crud-notifications-91204635528972b2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-mac-649ed31c3525e4f0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-fault-recovery-6e22f0114ceee203.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-off-token-0403e8a054f31125.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/poweroff-after-10-tries-c592506f02c167c0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-seventeen-638544be837c54fa.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-victoria-e65b4c63ce1e1a7a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-to-the-stein-f25b6073b6d1c598.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-callback-url-from-being-updated-41d50b20fb236e82.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-ports-with-vif-deletion-3edac3df5aa1becf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-pxe-retry-when-token-exists-a4f38f7da56c1397.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/proliantutils_version_update-b6e5ff0e496215a5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-650acb2c8a387e17.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-unset-0620b844afbb635e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/provide_mountpoint-58cfd25b6dd4cfde.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-append-params-9cd5831959676371.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-boot-mode-9084ccf35e54bbc0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-enabled-ports-check-c1736215dce76e97.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-retry-762a00ba1089bd75.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-snmp-driver-supported-9c559c6182c6ec4b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/queens-prelude-61fb897e96ed64c5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/radosgw-temp-url-b04aac50698b4461.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-dell-boss-e9c5da9ddceedd67.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-hints-c27097ded0137f7c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-max-c0920cc44b9779ee.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-to-support-jbod-568f88207b9216e2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raise-bad-request-exception-on-validating-inspection-failure-57d7fd2999cf4ecf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-boot-fails-4e8286e6a4e0dfb6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-clean-2d3b033a401b911b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-cleaning-f4e061f978bd6ac4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-configdrive-142149339dd00b47.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-image-download-source-7a071aba7890ba95.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-params-6083bfaa7ffa9dfe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-validate-acbc4acdb71d10c2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raw_image_growth_factor-cba37029650e67db.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reactive-ibmc-driver-d2149ca81a198090.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reboot-do-not-power-off-if-already-1452256167d40009.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rebuild-configdrive-f52479fd55b0f5ce.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-add-root-prefix-03b5f31ec6bbd146.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-append-params-4d28d922484c2731.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-autocreate-ports-53712a46dadd8203.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-bios-interface-a1acd8122c896a38.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-a44fc569f1baca8f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-config-usb-3e9a7543b2912ae7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-connection-cache-pool-accesserror-743e39a2f017b990.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-default-c7b2268606172bba.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-60873289278bf28f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-9671ae83108f6385.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-eject-iso-9875388ae09bc8f6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-firmware-update-a06d0624325a66ca.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-fix-bios-settings-apply-time-9b50979d2afc0d27.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-iso-pregenerated-97040711c4537726.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-managed-inspection-936341ffa8e1f22a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-power-87062756bce8b047.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-priorities-adf4b7bfbee0ca25.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-raid-interface-e362e7a0e7140962.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-ramdisk-no-agent-490b5edb0b2387e5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-sadness-6e2a37b3f45ef1aa.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-secure-boot-8e3b2fcad137e31e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-virtual-media-permission-fix-1909b9cdbbbf9fd1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-opt-59cafdde83fb2be7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-vendor-fc76086893d99415.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish_consider_password_in_session_cache-1fa84234db179053.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish_mgmt_clean_steps-c983a8858835046d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redundant-maintenance-09849674334f656a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/refactor-ironic-lib-22939896d8d46a77.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/register_hardware_interfaces_together-7b458a59f5e8f41f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-4.3.0-cc531ab7190f8a00.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-reservation-on-conductor-stop-6ebbcdf92da57ca6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/releasenote-b3b25c13ea1e2844.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reloadable-301ec2aa421abf66.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removal-pre-allocation-for-oneview-09310a215b3aaf3c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-DEPRECATED-options-from-[agent]-7b6cce21b5f52022.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-heartbeat-timeout-abf8787b8477bae7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent_last_heartbeat-65a9fe02f20465c5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ansible_deploy-driver-options-a28dc2f36110a67a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-app-wsgi-d5887ca28e4b9f00.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clean-nodes-38cfa633ca518f99.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clustered-compute-manager-6b45ed3803be53d1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-build-instance-info-for-deploy-2fe165fc018010e4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-deploy-erase-devices-iterations-55680ab95cbce3e9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-method-89926a8f0f4793a4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-drac_host-865be09c6e8fcb90.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-hash_distribution_replicas-08351358eba4c9e1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-ilo-clean-priority-erase-devices-bb3073da562ed41d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-option-names-6d5d53cc70dd2d49.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-discoverd-group-03eaf75e9f94d7be.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-periodic-task-f5e513b06b601ce4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-elilo-support-7fc1227f66e59084.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-enabled-drivers-5afcd77b53da1499.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-exception-message-92100debeb40d4c7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-extra-vif-port-id-ea4e59176c2065fd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-filename-param-from-vmedia-url-bf4773ede44f2206.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-glance-num-retries-24898fc9230d9497.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-inspecting-state-support-10325bdcdd182079.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipmi-retry-timeout-c1b2cf7df6771a43.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipminative-driver-3367d25bbcc41fdc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-enabled-opt-61d106f01c46acab.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-tags-with-ipv6-cf4b7937c27590d6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-deploy-ipa-mitaka-c0efa0d5c31933b6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-verify-attempts-ede5b56b0545da08.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-locks-first-d12ac27106f800f8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-manage-tftp-0c2f4f417b92b1ee.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-messaging-aliases-0a6ba1ed392b1fed.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-metric-pxe-boot-option-1aec41aebecc1ce9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-most-unsupported-049f3401c2554a3c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-neutron-client-workarounds-996c59623684929b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-oneview-9315c7b926fd4aa2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-periodic-interval-45f57ebad9aaa14e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-policy-json-be92ffdba7bda951.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-pxe-http-5a05c54f57747bfe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-python-oneviewclient-b1d345ef861e156e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-radosgw-config-b664f3023dc8403c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ssh-power-port-delay-7ae6e5eb893439cd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-verbose-option-261f1b9e24212ee2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-vifs-on-teardown-707c8e40c46b6e64.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_vagrant-4472cedd0284557c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-glance-host-port-protocol-dc6e682097ba398f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-keystone-section-1ec46442fb332c29.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rename-iso-builder-func-46694ed6ded84f4a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/replace-neutronclient-with-openstacksdk-20c06d9d0316c2df.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/require-tls-3880e6bec3075f4d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-ilo-hardware-type-2392989d0fef8849.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-irmc-hardware-type-17e38197849748e0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-node-87e3b673c61ef628.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reserved-node-names-67a08012ed1131ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reset-interface-e62036ac76b87486.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-class-change-563797d5a3c35683.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-classes-1bf903547236a473.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restart-console-on-conductor-startup-5cff6128c325b18e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restrict-sync-mode-after-device-to-supermicro-218e8cb57735c685.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restricted-allocation-creation-fix-a70dfcbcb9996602.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resume-cleaning-post-oob-reboot-b76c23f98219a8d2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/retry-vmedia-1999742c84f11103.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rolling-upgrades-ccad5159ca3cedbe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-api-version-info-9dd6cadd3d3d4bbe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-device-hints-rotational-c21f02130394e1d4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rpc-none-f05dac657eef4b66.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/scciclient-0.4.0-6f01c0f0a5c39062.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-boot-cf1c134bfb75768d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-api-version-increment-1785544f54a487b3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-policy-sanitization-performance-dc7886952144bb04.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/security_groups-b57a5d6c30c2fae4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/send-sensor-data-for-all-nodes-a732d9df43e74318.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/server_profile_template_uri-c79e4f15cc20a1cf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/service-exit-77bcf3a538fab4bc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/service-wait-e85cbe7978f61764.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/set-boot-mode-4c42b3fd0b5f5b37.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/setting_provisioning_cleaning_network-fb60caa1cf59cdcf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shellinabox-locking-fix-2fae2a451a8a489a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shred-final-overwrite-with-zeros-50b5ba5b19c0da27.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sighup-service-reloads-configs-0e2462e3f064a2ff.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/silence-rbac-deprecation-for-now-779898e720a7bf4e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-clear-job-queue-idrac-reset-if-attr-missing-b2a2b609c906c6c4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-nonraid-controllers-f4a79e2c9e8080ce.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-power-sync-for-adoptfail-d2498f1a2e997ed7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/smartnic-logic-has-merged-in-neutron-79078280d40f042c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-driver-udp-transport-settings-67419be988fcff40.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-hardware-type-ee3d471cf5c596f4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-noop-mgmt-53e93ac3b6dd8517.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-outlet-validate-ffbe8e6687172efc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-reboot-delay-d18ee3f6c6fc0998.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp_add_power_action_delay-eba6c3a9cbd6ada3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-address-conf-5cf043fabb10bd76.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-respawn-de9e8805c820a7ac.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-power-operations-oneview-e7ac054668235998.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-4a88e6c5af9ea742.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-with-uefi-5b88e6c5af9ea743.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sofware_raid_use_rootfs_uuid-f61eb671d696d251.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sort_key_allowed_field-091f8eeedd0a2ace.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/spawn-error-2249f94606388fbd.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sqlite-fk-8c87a308a02d49bf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ssh-console-58721af6830f8892.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sslerror-287edf7f8b3c5f1c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/stop-console-during-unprovision-a29d8facb3f03be5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002600-return-503-if-no-conductors-online-ead1512628182ec4.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002637-4825d60b096e475b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004266-4725d327900850bf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004444-f540d9bbc3532ad0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006217-redfish-bios-cleaning-fails-fee32f04dd97cbd2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006218-uefi-iso-creation-fails-ba0180991fdd0783.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006223-ilo-hpsum-firmware-update-fails-622883e4785313c1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006288-ilo-power-on-fails-with-no-boot-device-b698fef59b04e515.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006316-raid-create-fails-c3661e185fb11c9f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006321-ilo5-raid-create-fails-1bb1e648da0db0f1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2008323-fix-stuck-deploying-state-43d51149a02c08b8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/streaming-partition-images-d58fe619658b066e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sum-based-update-firmware-manual-clean-step-e69ade488060cf27.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/supermicro-redfish-override-enabled-aa51686ed33d3061.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-httpheaders-in-create-subscription-e383137f0db1ae21.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-irmc-driver-again-589db26927e32847.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-root-device-hints-with-operators-96cf34fa37b5b2e8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support_to_hash_rescue_password-0915927e41e6d845.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/swift_account_prefix-dbc9e68890bff47c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sync-boot-mode-after-changing-redfish-device-f60ef90ba5675215.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/taskmanager-lazy-load-32a14526c647c2f0.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/tempest_plugin_removal-009f9ce8456b16fe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-3f18cf73e4dd10d3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-b48b5981a58a30ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/train-release-59ff1643ec92c10a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/transmit-all-ports-b570009d1a008067.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/type-error-str-6826c53d7e5e1243.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-first-prepare-e7fa1e2a78b4af99.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-grub2-by-default-6b797a9e690d2dd5.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-is-now-the-default-562b0d68adc59008.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi_https_secure_boot_support-41f4976e02c11162.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/undeprecate-xclarity-4f4752017e8310e7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unix-socket-48e8f1caf4cb19f9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unrescue-token-ae664a17343e0610.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unsave-power-state-on-adopt-failed-09194c8269c779de.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-boot_mode-for-cleaning-scenario-for-ilo-hardware-type-ebca86da8fc271f6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-clear-job-id-constant-fix-c69cf96c55364bb3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-idrac-redfish-management-export-conf-9fb17273c4d9a050.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-irmc-set-boot-device-fd50d9dce42aaa89.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-live-port-ee3fa9b77f5d0cf7.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-port-pxe-enabled-f954f934209cbf5b.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-20ebcc22dc2df527.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-54c0cd5c5d3c01dc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-python-scciclient-required-version-71398d5d5e1c0bf8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade-delete_configuration-0f0bb43c57278734.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade_oslo_db_version-idrac_redfish_inspection_bugfix-b5edd35c337f80fc.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-current-node-driver_internal_info-5c11de8f2c2b2e87.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-dhcp-option-numbers-8b0b0efae912ff5f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-image-format-for-memory-check-25b1f06701ccdc47.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-ironic-lib-exception-4bff237c9667bf46.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use_secrets_to_generate_token-55af0f43e5a80b9e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/v1-discovery-4311398040581fe8.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-ilo-certificates-3ab98bb8cfad7d60.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-image-url-wnen-deploying-8820f4398ea9de9f.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-instance-traits-525dd3150aa6afa2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-node-properties-73509ee40f409ca2.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-port-info-before-using-it-e26135982d37c698.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-eject-vmedia-e4456320ee1c70c1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-shared-lock-6a9e32952ee6c2fe.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-subscription-5d28a2420e2af111.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/verify-bool-ab3607429e005bed.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-7be66f8150e19819.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-revert-3961d47fe419460a.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-port-attach-17a9993bf5c21d69.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-boot-mode-f75c6fbef6349cbf.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-fast-track-903076c33c4aca04.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-inject-files-b6e226e2db4cff06.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-tls-117daa5ae0a9e30d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-connector-and-target-api-dd172f121ab3af8e.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-multipath-63b96f8331e771ae.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/webserver-timeout-d85781bf634cef39.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-root-gb-9132e5a354e6cb9d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-scsi-install-bootloader-f7e791d82da476ca.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wipe-agent-token-upon-cleaning-timeout-c9add514fad1b02c.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wipe-disk-before-deployment-0a8b9cede4a659e9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wsgi-applications-5d36cf2a8885a56d.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wwn-extension-root-device-hints-de40ca1444ba4888.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-driver-622800d17459e3f9.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-mask-password-9fe7605ece7689c3.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xenserver-ssh-driver-398084fe91ac56f1.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/zero-temp-url-c21e208f8933c6f6.yaml -> ironic-20.1.4.dev4/releasenotes/notes DEBUG util.py:445: copying releasenotes/source/conf.py -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/icehouse.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/index.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/juno.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/kilo.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/liberty.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/mitaka.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/newton.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ocata.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/pike.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/queens.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/rocky.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/stein.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/train.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/unreleased.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ussuri.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/victoria.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/wallaby.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/xena.rst -> ironic-20.1.4.dev4/releasenotes/source DEBUG util.py:445: copying releasenotes/source/_static/.placeholder -> ironic-20.1.4.dev4/releasenotes/source/_static DEBUG util.py:445: copying releasenotes/source/_templates/.placeholder -> ironic-20.1.4.dev4/releasenotes/source/_templates DEBUG util.py:445: copying releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po -> ironic-20.1.4.dev4/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: copying releasenotes/source/locale/ja/LC_MESSAGES/releasenotes.po -> ironic-20.1.4.dev4/releasenotes/source/locale/ja/LC_MESSAGES DEBUG util.py:445: copying tools/__init__.py -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/bandit.yml -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/check-releasenotes.py -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/flake8wrap.sh -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/link_aggregation_on_windows.ps1 -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/run_bashate.sh -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/states_to_dot.py -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/test-setup.sh -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/with_venv.sh -> ironic-20.1.4.dev4/tools DEBUG util.py:445: copying tools/benchmark/README -> ironic-20.1.4.dev4/tools/benchmark DEBUG util.py:445: copying tools/benchmark/do_not_run_create_benchmark_data.py -> ironic-20.1.4.dev4/tools/benchmark DEBUG util.py:445: copying tools/benchmark/generate-statistics.py -> ironic-20.1.4.dev4/tools/benchmark DEBUG util.py:445: copying tools/config/ironic-config-generator.conf -> ironic-20.1.4.dev4/tools/config DEBUG util.py:445: copying tools/policy/ironic-policy-generator.conf -> ironic-20.1.4.dev4/tools/policy DEBUG util.py:445: copying zuul.d/ironic-jobs.yaml -> ironic-20.1.4.dev4/zuul.d DEBUG util.py:445: copying zuul.d/project.yaml -> ironic-20.1.4.dev4/zuul.d DEBUG util.py:445: Writing ironic-20.1.4.dev4/setup.cfg DEBUG util.py:445: creating dist DEBUG util.py:445: Creating tar archive DEBUG util.py:445: removing 'ironic-20.1.4.dev4' (and everything under it) DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/tmp/mock-selinux-plugin.3p96mb0x', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'private', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,private,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '45fabad4761244a3b99368b2ba9f11de', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/usermod', '-u', '1030', 'mockbuild'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:443: usermod: no changes DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/.initialized DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/tmp/mock-selinux-plugin.3dwfgb1r', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'private', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,private,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'd1e8a1a82ef7414cb153900f13ed2aa3', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/userdel', '-r', '-f', 'mockbuild'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '8ca9146cd518407b8a0c1a08c341a942', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/groupdel', 'mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '14f9094a0b5847d1a5b704c231a38b60', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/groupadd', '-g', '135', 'mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'f6ee6be19fa9410ca069dcc66b3c18f3', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/useradd', '-o', '-m', '-u', '1030', '-g', '135', '-d', '/builddir', '-n', 'mockbuild'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '4a7a7d32f35e42d6a8292a6e9fd44924', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: git-core-2.43.0-1.el8.x86_64 DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 DEBUG util.py:445: fontpackages-filesystem-1.44-22.el8.noarch DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch DEBUG util.py:445: glibc-devel-2.28-251.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch DEBUG util.py:445: platform-python-devel-3.6.8-59.el8.x86_64 DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch DEBUG util.py:445: rpm-build-libs-4.14.3-31.el8.x86_64 DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch DEBUG util.py:445: tar-1.30-9.el8.x86_64 DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch DEBUG util.py:445: libtiff-4.0.9-31.el8.x86_64 DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 DEBUG util.py:445: emacs-filesystem-26.1-11.el8.noarch DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch DEBUG util.py:445: libXpm-3.5.12-11.el8.x86_64 DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 DEBUG util.py:445: libXinerama-1.1.4-1.el8.x86_64 DEBUG util.py:445: libXdamage-1.1.4-14.el8.x86_64 DEBUG util.py:445: libkcapi-1.4.0-2.el8.x86_64 DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 DEBUG util.py:445: libcurl-7.61.1-34.el8.x86_64 DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 DEBUG util.py:445: cpio-2.12-11.el8.x86_64 DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 DEBUG util.py:445: xorg-x11-font-utils-7.5-41.el8.x86_64 DEBUG util.py:445: libffi-3.1-24.el8.x86_64 DEBUG util.py:445: libidn-1.34-5.el8.x86_64 DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch DEBUG util.py:445: gdbm-1.18-2.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el8.x86_64 DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch DEBUG util.py:445: kpartx-0.8.4-41.el8.x86_64 DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 DEBUG util.py:445: dbus-common-1.12.8-26.el8.noarch DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 DEBUG util.py:445: glibc-all-langpacks-2.28-251.el8.x86_64 DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 DEBUG util.py:445: libacl-2.2.53-3.el8.x86_64 DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 DEBUG util.py:445: libcap-2.48-5.el8.x86_64 DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 DEBUG util.py:445: python3-sphinx-2.2.2-1.el8.noarch DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 DEBUG util.py:445: python36-devel-3.6.8-39.module_el8+762+77bd8591.x86_64 DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch DEBUG util.py:445: p11-kit-0.23.22-2.el8.x86_64 DEBUG util.py:445: python3-sqlalchemy-1.4.31-1.el8.x86_64 DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203412.ce6a105.el8.noarch DEBUG util.py:445: popt-1.18-1.el8.x86_64 DEBUG util.py:445: python3-pip-9.0.3-24.el8.noarch DEBUG util.py:445: setup-2.12.2-11.el8.noarch DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 DEBUG util.py:445: libuuid-2.32.1-46.el8.x86_64 DEBUG util.py:445: info-6.5-7.el8_5.x86_64 DEBUG util.py:445: libmount-2.32.1-46.el8.x86_64 DEBUG util.py:445: libxml2-2.9.7-18.el8.x86_64 DEBUG util.py:445: pam-1.3.1-33.el8.x86_64 DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 DEBUG util.py:445: libX11-common-1.6.8-8.el8.noarch DEBUG util.py:445: elfutils-libelf-0.190-2.el8.x86_64 DEBUG util.py:445: libsmartcols-2.32.1-46.el8.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.28-251.el8.x86_64 DEBUG util.py:445: systemd-pam-239-81.el8.x86_64 DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.181-14.el8.x86_64 DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 DEBUG util.py:445: file-libs-5.33-26.el8.x86_64 DEBUG util.py:445: dbus-tools-1.12.8-26.el8.x86_64 DEBUG util.py:445: systemd-udev-239-81.el8.x86_64 DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 DEBUG util.py:445: libX11-1.6.8-8.el8.x86_64 DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 DEBUG util.py:445: cups-libs-2.2.6-57.el8.x86_64 DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 DEBUG util.py:445: glibc-2.28-251.el8.x86_64 DEBUG util.py:445: grep-3.1-6.el8.x86_64 DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 DEBUG util.py:445: sed-4.5-5.el8.x86_64 DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 DEBUG util.py:445: findutils-4.6.0-22.el8.x86_64 DEBUG util.py:445: dbus-libs-1.12.8-26.el8.x86_64 DEBUG util.py:445: gzip-1.9-13.el8.x86_64 DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 DEBUG util.py:445: p11-kit-trust-0.23.22-2.el8.x86_64 DEBUG util.py:445: openssl-libs-1.1.1k-12.el8.x86_64 DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 DEBUG util.py:445: trousers-lib-0.3.15-2.el8.x86_64 DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch DEBUG util.py:445: platform-python-3.6.8-59.el8.x86_64 DEBUG util.py:445: rpm-4.14.3-31.el8.x86_64 DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 DEBUG util.py:445: shared-mime-info-1.9-4.el8.x86_64 DEBUG util.py:445: gnutls-3.6.16-8.el8.1.x86_64 DEBUG util.py:445: dbus-1.12.8-26.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.el8.x86_64 DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-dns-1.15.0-11.el8.noarch DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch DEBUG util.py:445: python3-jinja2-2.10.1-4.el8.noarch DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch DEBUG util.py:445: openssh-8.0p1-24.el8.x86_64 DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: dwz-0.12-10.el8.x86_64 DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 DEBUG util.py:445: guile-2.0.14-7.el8.x86_64 DEBUG util.py:445: openssh-clients-8.0p1-24.el8.x86_64 DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 DEBUG util.py:445: annobin-11.13-2.el8.x86_64 DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch DEBUG util.py:445: npth-1.5-4.el8.x86_64 DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 DEBUG util.py:445: centos-gpg-keys-8-6.el8.noarch DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 DEBUG util.py:445: libnghttp2-1.33.0-5.el8.x86_64 DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 DEBUG util.py:445: grub2-tools-minimal-2.02-129.el8.x86_64 DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 DEBUG util.py:445: libXxf86vm-1.1.4-9.el8.x86_64 DEBUG util.py:445: grubby-8.40-48.el8.x86_64 DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 DEBUG util.py:445: gdbm-libs-1.18-2.el8.x86_64 DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch DEBUG util.py:445: libkcapi-hmaccalc-1.4.0-2.el8.x86_64 DEBUG util.py:445: libijs-0.35-5.el8.x86_64 DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: hardlink-1.3-6.el8.x86_64 DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch DEBUG util.py:445: pigz-2.4-4.el8.x86_64 DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch DEBUG util.py:445: openssl-1.1.1k-12.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch DEBUG util.py:445: curl-7.61.1-34.el8.x86_64 DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 DEBUG util.py:445: grub2-common-2.02-129.el8.noarch DEBUG util.py:445: libgs-9.27-12.el8.x86_64 DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch DEBUG util.py:445: audit-libs-3.1.2-1.el8.x86_64 DEBUG util.py:445: graphviz-2.40.1-45.el8.x86_64 DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 DEBUG util.py:445: rpm-build-4.14.3-31.el8.x86_64 DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: python3-eventlet-0.33.0-3.el8.noarch DEBUG util.py:445: pcre-8.42-6.el8.x86_64 DEBUG util.py:445: make-4.2.1-11.el8.x86_64 DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 DEBUG util.py:445: platform-python-pip-9.0.3-24.el8.noarch DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 DEBUG util.py:445: tzdata-2024a-1.el8.noarch DEBUG util.py:445: which-2.21-20.el8.x86_64 DEBUG util.py:445: python3-pip-wheel-9.0.3-24.el8.noarch DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 DEBUG util.py:445: gmp-6.1.2-12.el8.x86_64 DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 DEBUG util.py:445: libblkid-2.32.1-46.el8.x86_64 DEBUG util.py:445: kmod-25-20.el8.x86_64 DEBUG util.py:445: systemd-libs-239-81.el8.x86_64 DEBUG util.py:445: sqlite-libs-3.26.0-19.el8.x86_64 DEBUG util.py:445: libfdisk-2.32.1-46.el8.x86_64 DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 DEBUG util.py:445: libssh-config-0.9.6-14.el8.noarch DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: util-linux-2.32.1-46.el8.x86_64 DEBUG util.py:445: glibc-common-2.28-251.el8.x86_64 DEBUG util.py:445: systemd-239-81.el8.x86_64 DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 DEBUG util.py:445: device-mapper-1.02.181-14.el8.x86_64 DEBUG util.py:445: file-5.33-26.el8.x86_64 DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 DEBUG util.py:445: libssh-0.9.6-14.el8.x86_64 DEBUG util.py:445: elfutils-libs-0.190-2.el8.x86_64 DEBUG util.py:445: kernel-headers-4.18.0-544.el8.x86_64 DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 DEBUG util.py:445: libtirpc-1.1.4-10.el8.x86_64 DEBUG util.py:445: krb5-libs-1.18.2-26.el8.x86_64 DEBUG util.py:445: dracut-049-233.git20240115.el8.x86_64 DEBUG util.py:445: basesystem-11-5.el8.noarch DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 DEBUG util.py:445: readline-7.0-10.el8.x86_64 DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 DEBUG util.py:445: shadow-utils-4.6-22.el8.x86_64 DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: kmod-libs-25-20.el8.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 DEBUG util.py:445: dbus-daemon-1.12.8-26.el8.x86_64 DEBUG util.py:445: acl-2.2.53-3.el8.x86_64 DEBUG util.py:445: python3-libs-3.6.8-59.el8.x86_64 DEBUG util.py:445: python36-3.6.8-39.module_el8+762+77bd8591.x86_64 DEBUG util.py:445: rpm-libs-4.14.3-31.el8.x86_64 DEBUG util.py:445: glib2-2.56.4-163.el8.x86_64 DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: grub2-tools-2.02-129.el8.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el8.noarch DEBUG util.py:445: trousers-0.3.15-2.el8.x86_64 DEBUG util.py:445: libpng-1.6.34-5.el8.x86_64 DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 DEBUG util.py:445: python3-idna-2.5-5.el8.noarch DEBUG util.py:445: binutils-2.30-123.el8.x86_64 DEBUG util.py:445: glibc-headers-2.28-251.el8.x86_64 DEBUG util.py:445: unzip-6.0-46.el8.x86_64 DEBUG util.py:445: zip-3.0-23.el8.x86_64 DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 DEBUG util.py:445: python3-docutils-0.14-12.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch DEBUG util.py:445: python3-pyparsing-2.4.6-1.el8.noarch DEBUG util.py:445: python3-snowballstemmer-1.9.0-4.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch DEBUG util.py:445: tpm2-tss-2.3.2-6.el8.x86_64 DEBUG util.py:445: avahi-libs-0.7-27.el8.x86_64 DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 DEBUG util.py:445: elfutils-0.190-2.el8.x86_64 DEBUG util.py:445: harfbuzz-1.7.5-4.el8.x86_64 DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 DEBUG util.py:445: less-530-1.el8.x86_64 DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'rprivate', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/proc', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,nodev,noexec,nosuid,readonly,rprivate,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'rprivate', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/sys', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,nodev,noexec,nosuid,readonly,rprivate,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'devpts', '-o', 'gid=5,mode=0620,ptmxmode=0666,newinstance', 'devpts', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/', '-y', '--releasever', '8', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'update'] DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.q84vo02l:/etc/resolv.conf'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'ef91754646c3425b873c41f9442d0c59', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.q84vo02l:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--setenv=LC_MESSAGES=C.UTF-8', '--resolv-conf=off', '/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/', '-y', '--releasever', '8', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'update', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'LC_MESSAGES': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: delorean-openstack-ironic-8159c3cf94ec55fe006e2 256 kB/s | 59 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-38f84a4efbb513235191e 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-octaviaclient-6502d66bb213d0e0a 36 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-d8aefdd736bc95d11 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-diskimage-builder-2ba78f79a11633efde29 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-bf8b69960599cf9af02ce11 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-76339c30770fbf4f67f66 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-84111ad7cb4496d108370 115 kB/s | 24 kB 00:00 DEBUG util.py:445: delorean-openstack-neutron-vpnaas-a511fa10c988b 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-8f1b0b92a78c86c6b90c 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-59d6b2818e6d482f3ee 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-2a73f12a4500eabcd0dcde 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-1580f6f8437bd07e008c 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-os-apply-config-14dfe905bd4e2724ddc58c 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-sahara-ui-607492d660b99cf118 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-validations-common-f273ccbb963e31056bd 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS-Stream - Base 19 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - AppStream 28 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS-Stream - Extras 24 kB/s | 2.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - PowerTools 17 kB/s | 4.4 kB 00:00 DEBUG util.py:445: dlrn-yoga-testing 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-yoga-build-deps 36 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Advanced Virtualization mirror 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Messaging RabbitMQ 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: opstools 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Dependencies resolved. DEBUG util.py:445: Nothing to do. DEBUG util.py:445: Complete! DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans DEBUG buildroot.py:513: removing 3 rpm db files DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/rpm/__db.003 DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/rpm/__db.002 DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/rpm/__db.001 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'c8ee1371ec0d42479aef797e732d1c53', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: git-core-2.43.0-1.el8.x86_64 DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 DEBUG util.py:445: fontpackages-filesystem-1.44-22.el8.noarch DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch DEBUG util.py:445: glibc-devel-2.28-251.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch DEBUG util.py:445: platform-python-devel-3.6.8-59.el8.x86_64 DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch DEBUG util.py:445: rpm-build-libs-4.14.3-31.el8.x86_64 DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch DEBUG util.py:445: tar-1.30-9.el8.x86_64 DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch DEBUG util.py:445: libtiff-4.0.9-31.el8.x86_64 DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 DEBUG util.py:445: emacs-filesystem-26.1-11.el8.noarch DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch DEBUG util.py:445: libXpm-3.5.12-11.el8.x86_64 DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 DEBUG util.py:445: libXinerama-1.1.4-1.el8.x86_64 DEBUG util.py:445: libXdamage-1.1.4-14.el8.x86_64 DEBUG util.py:445: libkcapi-1.4.0-2.el8.x86_64 DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 DEBUG util.py:445: libcurl-7.61.1-34.el8.x86_64 DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 DEBUG util.py:445: cpio-2.12-11.el8.x86_64 DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 DEBUG util.py:445: xorg-x11-font-utils-7.5-41.el8.x86_64 DEBUG util.py:445: libffi-3.1-24.el8.x86_64 DEBUG util.py:445: libidn-1.34-5.el8.x86_64 DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch DEBUG util.py:445: gdbm-1.18-2.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el8.x86_64 DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch DEBUG util.py:445: kpartx-0.8.4-41.el8.x86_64 DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 DEBUG util.py:445: dbus-common-1.12.8-26.el8.noarch DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 DEBUG util.py:445: glibc-all-langpacks-2.28-251.el8.x86_64 DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 DEBUG util.py:445: libacl-2.2.53-3.el8.x86_64 DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 DEBUG util.py:445: libcap-2.48-5.el8.x86_64 DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 DEBUG util.py:445: python3-sphinx-2.2.2-1.el8.noarch DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 DEBUG util.py:445: python36-devel-3.6.8-39.module_el8+762+77bd8591.x86_64 DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch DEBUG util.py:445: p11-kit-0.23.22-2.el8.x86_64 DEBUG util.py:445: python3-sqlalchemy-1.4.31-1.el8.x86_64 DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203412.ce6a105.el8.noarch DEBUG util.py:445: popt-1.18-1.el8.x86_64 DEBUG util.py:445: python3-pip-9.0.3-24.el8.noarch DEBUG util.py:445: setup-2.12.2-11.el8.noarch DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 DEBUG util.py:445: libuuid-2.32.1-46.el8.x86_64 DEBUG util.py:445: info-6.5-7.el8_5.x86_64 DEBUG util.py:445: libmount-2.32.1-46.el8.x86_64 DEBUG util.py:445: libxml2-2.9.7-18.el8.x86_64 DEBUG util.py:445: pam-1.3.1-33.el8.x86_64 DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 DEBUG util.py:445: libX11-common-1.6.8-8.el8.noarch DEBUG util.py:445: elfutils-libelf-0.190-2.el8.x86_64 DEBUG util.py:445: libsmartcols-2.32.1-46.el8.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.28-251.el8.x86_64 DEBUG util.py:445: systemd-pam-239-81.el8.x86_64 DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.181-14.el8.x86_64 DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 DEBUG util.py:445: file-libs-5.33-26.el8.x86_64 DEBUG util.py:445: dbus-tools-1.12.8-26.el8.x86_64 DEBUG util.py:445: systemd-udev-239-81.el8.x86_64 DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 DEBUG util.py:445: libX11-1.6.8-8.el8.x86_64 DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 DEBUG util.py:445: cups-libs-2.2.6-57.el8.x86_64 DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 DEBUG util.py:445: glibc-2.28-251.el8.x86_64 DEBUG util.py:445: grep-3.1-6.el8.x86_64 DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 DEBUG util.py:445: sed-4.5-5.el8.x86_64 DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 DEBUG util.py:445: findutils-4.6.0-22.el8.x86_64 DEBUG util.py:445: dbus-libs-1.12.8-26.el8.x86_64 DEBUG util.py:445: gzip-1.9-13.el8.x86_64 DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 DEBUG util.py:445: p11-kit-trust-0.23.22-2.el8.x86_64 DEBUG util.py:445: openssl-libs-1.1.1k-12.el8.x86_64 DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 DEBUG util.py:445: trousers-lib-0.3.15-2.el8.x86_64 DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch DEBUG util.py:445: platform-python-3.6.8-59.el8.x86_64 DEBUG util.py:445: rpm-4.14.3-31.el8.x86_64 DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 DEBUG util.py:445: shared-mime-info-1.9-4.el8.x86_64 DEBUG util.py:445: gnutls-3.6.16-8.el8.1.x86_64 DEBUG util.py:445: dbus-1.12.8-26.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.el8.x86_64 DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-dns-1.15.0-11.el8.noarch DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch DEBUG util.py:445: python3-jinja2-2.10.1-4.el8.noarch DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch DEBUG util.py:445: openssh-8.0p1-24.el8.x86_64 DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: dwz-0.12-10.el8.x86_64 DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 DEBUG util.py:445: guile-2.0.14-7.el8.x86_64 DEBUG util.py:445: openssh-clients-8.0p1-24.el8.x86_64 DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 DEBUG util.py:445: annobin-11.13-2.el8.x86_64 DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch DEBUG util.py:445: npth-1.5-4.el8.x86_64 DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 DEBUG util.py:445: centos-gpg-keys-8-6.el8.noarch DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 DEBUG util.py:445: libnghttp2-1.33.0-5.el8.x86_64 DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 DEBUG util.py:445: grub2-tools-minimal-2.02-129.el8.x86_64 DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 DEBUG util.py:445: libXxf86vm-1.1.4-9.el8.x86_64 DEBUG util.py:445: grubby-8.40-48.el8.x86_64 DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 DEBUG util.py:445: gdbm-libs-1.18-2.el8.x86_64 DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch DEBUG util.py:445: libkcapi-hmaccalc-1.4.0-2.el8.x86_64 DEBUG util.py:445: libijs-0.35-5.el8.x86_64 DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: hardlink-1.3-6.el8.x86_64 DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch DEBUG util.py:445: pigz-2.4-4.el8.x86_64 DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch DEBUG util.py:445: openssl-1.1.1k-12.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch DEBUG util.py:445: curl-7.61.1-34.el8.x86_64 DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 DEBUG util.py:445: grub2-common-2.02-129.el8.noarch DEBUG util.py:445: libgs-9.27-12.el8.x86_64 DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch DEBUG util.py:445: audit-libs-3.1.2-1.el8.x86_64 DEBUG util.py:445: graphviz-2.40.1-45.el8.x86_64 DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 DEBUG util.py:445: rpm-build-4.14.3-31.el8.x86_64 DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: python3-eventlet-0.33.0-3.el8.noarch DEBUG util.py:445: pcre-8.42-6.el8.x86_64 DEBUG util.py:445: make-4.2.1-11.el8.x86_64 DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 DEBUG util.py:445: platform-python-pip-9.0.3-24.el8.noarch DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 DEBUG util.py:445: tzdata-2024a-1.el8.noarch DEBUG util.py:445: which-2.21-20.el8.x86_64 DEBUG util.py:445: python3-pip-wheel-9.0.3-24.el8.noarch DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 DEBUG util.py:445: gmp-6.1.2-12.el8.x86_64 DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 DEBUG util.py:445: libblkid-2.32.1-46.el8.x86_64 DEBUG util.py:445: kmod-25-20.el8.x86_64 DEBUG util.py:445: systemd-libs-239-81.el8.x86_64 DEBUG util.py:445: sqlite-libs-3.26.0-19.el8.x86_64 DEBUG util.py:445: libfdisk-2.32.1-46.el8.x86_64 DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 DEBUG util.py:445: libssh-config-0.9.6-14.el8.noarch DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: util-linux-2.32.1-46.el8.x86_64 DEBUG util.py:445: glibc-common-2.28-251.el8.x86_64 DEBUG util.py:445: systemd-239-81.el8.x86_64 DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 DEBUG util.py:445: device-mapper-1.02.181-14.el8.x86_64 DEBUG util.py:445: file-5.33-26.el8.x86_64 DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 DEBUG util.py:445: libssh-0.9.6-14.el8.x86_64 DEBUG util.py:445: elfutils-libs-0.190-2.el8.x86_64 DEBUG util.py:445: kernel-headers-4.18.0-544.el8.x86_64 DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 DEBUG util.py:445: libtirpc-1.1.4-10.el8.x86_64 DEBUG util.py:445: krb5-libs-1.18.2-26.el8.x86_64 DEBUG util.py:445: dracut-049-233.git20240115.el8.x86_64 DEBUG util.py:445: basesystem-11-5.el8.noarch DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 DEBUG util.py:445: readline-7.0-10.el8.x86_64 DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 DEBUG util.py:445: shadow-utils-4.6-22.el8.x86_64 DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: kmod-libs-25-20.el8.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 DEBUG util.py:445: dbus-daemon-1.12.8-26.el8.x86_64 DEBUG util.py:445: acl-2.2.53-3.el8.x86_64 DEBUG util.py:445: python3-libs-3.6.8-59.el8.x86_64 DEBUG util.py:445: python36-3.6.8-39.module_el8+762+77bd8591.x86_64 DEBUG util.py:445: rpm-libs-4.14.3-31.el8.x86_64 DEBUG util.py:445: glib2-2.56.4-163.el8.x86_64 DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: grub2-tools-2.02-129.el8.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el8.noarch DEBUG util.py:445: trousers-0.3.15-2.el8.x86_64 DEBUG util.py:445: libpng-1.6.34-5.el8.x86_64 DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 DEBUG util.py:445: python3-idna-2.5-5.el8.noarch DEBUG util.py:445: binutils-2.30-123.el8.x86_64 DEBUG util.py:445: glibc-headers-2.28-251.el8.x86_64 DEBUG util.py:445: unzip-6.0-46.el8.x86_64 DEBUG util.py:445: zip-3.0-23.el8.x86_64 DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 DEBUG util.py:445: python3-docutils-0.14-12.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch DEBUG util.py:445: python3-pyparsing-2.4.6-1.el8.noarch DEBUG util.py:445: python3-snowballstemmer-1.9.0-4.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch DEBUG util.py:445: tpm2-tss-2.3.2-6.el8.x86_64 DEBUG util.py:445: avahi-libs-0.7-27.el8.x86_64 DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 DEBUG util.py:445: elfutils-0.190-2.el8.x86_64 DEBUG util.py:445: harfbuzz-1.7.5-4.el8.x86_64 DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 DEBUG util.py:445: less-530-1.el8.x86_64 DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/.initialized INFO buildroot.py:278: 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-centos8-yoga-x86_64-5/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1030gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bp4jehcm:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bp4jehcm:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '9f9549fbba494b6aad838f3ded2fe616', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.bp4jehcm:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: Building target platforms: x86_64 DEBUG util.py:445: Building for target x86_64 DEBUG util.py:445: Wrote: /builddir/build/SRPMS/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.src.rpm DEBUG util.py:596: Child return code was: 0 DEBUG backend.py:612: Copying package to result dir DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['btrfs', 'subv', 'list', '/var/lib/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/tmp/mock-selinux-plugin.e8snimfy', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'private', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,private,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '6572b6b63892415b83780c137c932398', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/userdel', '-r', '-f', 'mockbuild'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'd8bbe293181844dca2982da8ac8f3a60', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/groupdel', 'mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'ce6ceb713b8c4235a197280b9f1961e1', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/groupadd', '-g', '135', 'mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '9abdae29f6ec4277b7427ba9a88a1b64', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/useradd', '-o', '-m', '-u', '1030', '-g', '135', '-d', '/builddir', '-n', 'mockbuild'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/builddir DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '107cea5f93bf48b3a9196d8125ea84b2', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: git-core-2.43.0-1.el8.x86_64 DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 DEBUG util.py:445: fontpackages-filesystem-1.44-22.el8.noarch DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch DEBUG util.py:445: glibc-devel-2.28-251.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch DEBUG util.py:445: platform-python-devel-3.6.8-59.el8.x86_64 DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch DEBUG util.py:445: rpm-build-libs-4.14.3-31.el8.x86_64 DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch DEBUG util.py:445: tar-1.30-9.el8.x86_64 DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch DEBUG util.py:445: libtiff-4.0.9-31.el8.x86_64 DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 DEBUG util.py:445: emacs-filesystem-26.1-11.el8.noarch DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch DEBUG util.py:445: libXpm-3.5.12-11.el8.x86_64 DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 DEBUG util.py:445: libXinerama-1.1.4-1.el8.x86_64 DEBUG util.py:445: libXdamage-1.1.4-14.el8.x86_64 DEBUG util.py:445: libkcapi-1.4.0-2.el8.x86_64 DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 DEBUG util.py:445: libcurl-7.61.1-34.el8.x86_64 DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 DEBUG util.py:445: cpio-2.12-11.el8.x86_64 DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 DEBUG util.py:445: xorg-x11-font-utils-7.5-41.el8.x86_64 DEBUG util.py:445: libffi-3.1-24.el8.x86_64 DEBUG util.py:445: libidn-1.34-5.el8.x86_64 DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch DEBUG util.py:445: gdbm-1.18-2.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el8.x86_64 DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch DEBUG util.py:445: kpartx-0.8.4-41.el8.x86_64 DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 DEBUG util.py:445: dbus-common-1.12.8-26.el8.noarch DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 DEBUG util.py:445: glibc-all-langpacks-2.28-251.el8.x86_64 DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 DEBUG util.py:445: libacl-2.2.53-3.el8.x86_64 DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 DEBUG util.py:445: libcap-2.48-5.el8.x86_64 DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 DEBUG util.py:445: python3-sphinx-2.2.2-1.el8.noarch DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 DEBUG util.py:445: python36-devel-3.6.8-39.module_el8+762+77bd8591.x86_64 DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch DEBUG util.py:445: p11-kit-0.23.22-2.el8.x86_64 DEBUG util.py:445: python3-sqlalchemy-1.4.31-1.el8.x86_64 DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203412.ce6a105.el8.noarch DEBUG util.py:445: popt-1.18-1.el8.x86_64 DEBUG util.py:445: python3-pip-9.0.3-24.el8.noarch DEBUG util.py:445: setup-2.12.2-11.el8.noarch DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 DEBUG util.py:445: libuuid-2.32.1-46.el8.x86_64 DEBUG util.py:445: info-6.5-7.el8_5.x86_64 DEBUG util.py:445: libmount-2.32.1-46.el8.x86_64 DEBUG util.py:445: libxml2-2.9.7-18.el8.x86_64 DEBUG util.py:445: pam-1.3.1-33.el8.x86_64 DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 DEBUG util.py:445: libX11-common-1.6.8-8.el8.noarch DEBUG util.py:445: elfutils-libelf-0.190-2.el8.x86_64 DEBUG util.py:445: libsmartcols-2.32.1-46.el8.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.28-251.el8.x86_64 DEBUG util.py:445: systemd-pam-239-81.el8.x86_64 DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.181-14.el8.x86_64 DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 DEBUG util.py:445: file-libs-5.33-26.el8.x86_64 DEBUG util.py:445: dbus-tools-1.12.8-26.el8.x86_64 DEBUG util.py:445: systemd-udev-239-81.el8.x86_64 DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 DEBUG util.py:445: libX11-1.6.8-8.el8.x86_64 DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 DEBUG util.py:445: cups-libs-2.2.6-57.el8.x86_64 DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 DEBUG util.py:445: glibc-2.28-251.el8.x86_64 DEBUG util.py:445: grep-3.1-6.el8.x86_64 DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 DEBUG util.py:445: sed-4.5-5.el8.x86_64 DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 DEBUG util.py:445: findutils-4.6.0-22.el8.x86_64 DEBUG util.py:445: dbus-libs-1.12.8-26.el8.x86_64 DEBUG util.py:445: gzip-1.9-13.el8.x86_64 DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 DEBUG util.py:445: p11-kit-trust-0.23.22-2.el8.x86_64 DEBUG util.py:445: openssl-libs-1.1.1k-12.el8.x86_64 DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 DEBUG util.py:445: trousers-lib-0.3.15-2.el8.x86_64 DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch DEBUG util.py:445: platform-python-3.6.8-59.el8.x86_64 DEBUG util.py:445: rpm-4.14.3-31.el8.x86_64 DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 DEBUG util.py:445: shared-mime-info-1.9-4.el8.x86_64 DEBUG util.py:445: gnutls-3.6.16-8.el8.1.x86_64 DEBUG util.py:445: dbus-1.12.8-26.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.el8.x86_64 DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-dns-1.15.0-11.el8.noarch DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch DEBUG util.py:445: python3-jinja2-2.10.1-4.el8.noarch DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch DEBUG util.py:445: openssh-8.0p1-24.el8.x86_64 DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: dwz-0.12-10.el8.x86_64 DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 DEBUG util.py:445: guile-2.0.14-7.el8.x86_64 DEBUG util.py:445: openssh-clients-8.0p1-24.el8.x86_64 DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 DEBUG util.py:445: annobin-11.13-2.el8.x86_64 DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch DEBUG util.py:445: npth-1.5-4.el8.x86_64 DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 DEBUG util.py:445: centos-gpg-keys-8-6.el8.noarch DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 DEBUG util.py:445: libnghttp2-1.33.0-5.el8.x86_64 DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 DEBUG util.py:445: grub2-tools-minimal-2.02-129.el8.x86_64 DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 DEBUG util.py:445: libXxf86vm-1.1.4-9.el8.x86_64 DEBUG util.py:445: grubby-8.40-48.el8.x86_64 DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 DEBUG util.py:445: gdbm-libs-1.18-2.el8.x86_64 DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch DEBUG util.py:445: libkcapi-hmaccalc-1.4.0-2.el8.x86_64 DEBUG util.py:445: libijs-0.35-5.el8.x86_64 DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: hardlink-1.3-6.el8.x86_64 DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch DEBUG util.py:445: pigz-2.4-4.el8.x86_64 DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch DEBUG util.py:445: openssl-1.1.1k-12.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch DEBUG util.py:445: curl-7.61.1-34.el8.x86_64 DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 DEBUG util.py:445: grub2-common-2.02-129.el8.noarch DEBUG util.py:445: libgs-9.27-12.el8.x86_64 DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch DEBUG util.py:445: audit-libs-3.1.2-1.el8.x86_64 DEBUG util.py:445: graphviz-2.40.1-45.el8.x86_64 DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 DEBUG util.py:445: rpm-build-4.14.3-31.el8.x86_64 DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: python3-eventlet-0.33.0-3.el8.noarch DEBUG util.py:445: pcre-8.42-6.el8.x86_64 DEBUG util.py:445: make-4.2.1-11.el8.x86_64 DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 DEBUG util.py:445: platform-python-pip-9.0.3-24.el8.noarch DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 DEBUG util.py:445: tzdata-2024a-1.el8.noarch DEBUG util.py:445: which-2.21-20.el8.x86_64 DEBUG util.py:445: python3-pip-wheel-9.0.3-24.el8.noarch DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 DEBUG util.py:445: gmp-6.1.2-12.el8.x86_64 DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 DEBUG util.py:445: libblkid-2.32.1-46.el8.x86_64 DEBUG util.py:445: kmod-25-20.el8.x86_64 DEBUG util.py:445: systemd-libs-239-81.el8.x86_64 DEBUG util.py:445: sqlite-libs-3.26.0-19.el8.x86_64 DEBUG util.py:445: libfdisk-2.32.1-46.el8.x86_64 DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 DEBUG util.py:445: libssh-config-0.9.6-14.el8.noarch DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: util-linux-2.32.1-46.el8.x86_64 DEBUG util.py:445: glibc-common-2.28-251.el8.x86_64 DEBUG util.py:445: systemd-239-81.el8.x86_64 DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 DEBUG util.py:445: device-mapper-1.02.181-14.el8.x86_64 DEBUG util.py:445: file-5.33-26.el8.x86_64 DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 DEBUG util.py:445: libssh-0.9.6-14.el8.x86_64 DEBUG util.py:445: elfutils-libs-0.190-2.el8.x86_64 DEBUG util.py:445: kernel-headers-4.18.0-544.el8.x86_64 DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 DEBUG util.py:445: libtirpc-1.1.4-10.el8.x86_64 DEBUG util.py:445: krb5-libs-1.18.2-26.el8.x86_64 DEBUG util.py:445: dracut-049-233.git20240115.el8.x86_64 DEBUG util.py:445: basesystem-11-5.el8.noarch DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 DEBUG util.py:445: readline-7.0-10.el8.x86_64 DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 DEBUG util.py:445: shadow-utils-4.6-22.el8.x86_64 DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: kmod-libs-25-20.el8.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 DEBUG util.py:445: dbus-daemon-1.12.8-26.el8.x86_64 DEBUG util.py:445: acl-2.2.53-3.el8.x86_64 DEBUG util.py:445: python3-libs-3.6.8-59.el8.x86_64 DEBUG util.py:445: python36-3.6.8-39.module_el8+762+77bd8591.x86_64 DEBUG util.py:445: rpm-libs-4.14.3-31.el8.x86_64 DEBUG util.py:445: glib2-2.56.4-163.el8.x86_64 DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: grub2-tools-2.02-129.el8.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el8.noarch DEBUG util.py:445: trousers-0.3.15-2.el8.x86_64 DEBUG util.py:445: libpng-1.6.34-5.el8.x86_64 DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 DEBUG util.py:445: python3-idna-2.5-5.el8.noarch DEBUG util.py:445: binutils-2.30-123.el8.x86_64 DEBUG util.py:445: glibc-headers-2.28-251.el8.x86_64 DEBUG util.py:445: unzip-6.0-46.el8.x86_64 DEBUG util.py:445: zip-3.0-23.el8.x86_64 DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 DEBUG util.py:445: python3-docutils-0.14-12.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch DEBUG util.py:445: python3-pyparsing-2.4.6-1.el8.noarch DEBUG util.py:445: python3-snowballstemmer-1.9.0-4.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch DEBUG util.py:445: tpm2-tss-2.3.2-6.el8.x86_64 DEBUG util.py:445: avahi-libs-0.7-27.el8.x86_64 DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 DEBUG util.py:445: elfutils-0.190-2.el8.x86_64 DEBUG util.py:445: harfbuzz-1.7.5-4.el8.x86_64 DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 DEBUG util.py:445: less-530-1.el8.x86_64 DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'rprivate', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/proc', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,nodev,noexec,nosuid,readonly,rprivate,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'rprivate', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/sys', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,nodev,noexec,nosuid,readonly,rprivate,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'devpts', '-o', 'gid=5,mode=0620,ptmxmode=0666,newinstance', 'devpts', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/', '-y', '--releasever', '8', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'update'] DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.sx535p18:/etc/resolv.conf'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '0f2a6209b6ab4aaba67ce54fab174836', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.sx535p18:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--setenv=LC_MESSAGES=C.UTF-8', '--resolv-conf=off', '/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/', '-y', '--releasever', '8', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'update', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'LC_MESSAGES': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: delorean-openstack-ironic-8159c3cf94ec55fe006e2 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-38f84a4efbb513235191e 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-octaviaclient-6502d66bb213d0e0a 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-d8aefdd736bc95d11 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-diskimage-builder-2ba78f79a11633efde29 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-bf8b69960599cf9af02ce11 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-76339c30770fbf4f67f66 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-84111ad7cb4496d108370 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-neutron-vpnaas-a511fa10c988b 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-8f1b0b92a78c86c6b90c 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-59d6b2818e6d482f3ee 38 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-2a73f12a4500eabcd0dcde 36 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-1580f6f8437bd07e008c 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-os-apply-config-14dfe905bd4e2724ddc58c 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-sahara-ui-607492d660b99cf118 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-validations-common-f273ccbb963e31056bd 37 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS-Stream - Base 24 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - AppStream 28 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS-Stream - Extras 25 kB/s | 2.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - PowerTools 18 kB/s | 4.4 kB 00:00 DEBUG util.py:445: dlrn-yoga-testing 36 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-yoga-build-deps 36 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Advanced Virtualization mirror 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Messaging RabbitMQ 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: opstools 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Dependencies resolved. DEBUG util.py:445: Nothing to do. DEBUG util.py:445: Complete! DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans DEBUG buildroot.py:513: removing 3 rpm db files DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/rpm/__db.003 DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/rpm/__db.002 DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/rpm/__db.001 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '3991dc434c264e7aad085f47072508d5', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/bin/rpm', '-qa', '--root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: git-core-2.43.0-1.el8.x86_64 DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 DEBUG util.py:445: fontpackages-filesystem-1.44-22.el8.noarch DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch DEBUG util.py:445: glibc-devel-2.28-251.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch DEBUG util.py:445: platform-python-devel-3.6.8-59.el8.x86_64 DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch DEBUG util.py:445: rpm-build-libs-4.14.3-31.el8.x86_64 DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch DEBUG util.py:445: tar-1.30-9.el8.x86_64 DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch DEBUG util.py:445: libtiff-4.0.9-31.el8.x86_64 DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 DEBUG util.py:445: emacs-filesystem-26.1-11.el8.noarch DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch DEBUG util.py:445: libXpm-3.5.12-11.el8.x86_64 DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 DEBUG util.py:445: libXinerama-1.1.4-1.el8.x86_64 DEBUG util.py:445: libXdamage-1.1.4-14.el8.x86_64 DEBUG util.py:445: libkcapi-1.4.0-2.el8.x86_64 DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 DEBUG util.py:445: libcurl-7.61.1-34.el8.x86_64 DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 DEBUG util.py:445: cpio-2.12-11.el8.x86_64 DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 DEBUG util.py:445: xorg-x11-font-utils-7.5-41.el8.x86_64 DEBUG util.py:445: libffi-3.1-24.el8.x86_64 DEBUG util.py:445: libidn-1.34-5.el8.x86_64 DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch DEBUG util.py:445: gdbm-1.18-2.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el8.x86_64 DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch DEBUG util.py:445: kpartx-0.8.4-41.el8.x86_64 DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 DEBUG util.py:445: dbus-common-1.12.8-26.el8.noarch DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 DEBUG util.py:445: glibc-all-langpacks-2.28-251.el8.x86_64 DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 DEBUG util.py:445: libacl-2.2.53-3.el8.x86_64 DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 DEBUG util.py:445: libcap-2.48-5.el8.x86_64 DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 DEBUG util.py:445: python3-sphinx-2.2.2-1.el8.noarch DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 DEBUG util.py:445: python36-devel-3.6.8-39.module_el8+762+77bd8591.x86_64 DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch DEBUG util.py:445: p11-kit-0.23.22-2.el8.x86_64 DEBUG util.py:445: python3-sqlalchemy-1.4.31-1.el8.x86_64 DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203412.ce6a105.el8.noarch DEBUG util.py:445: popt-1.18-1.el8.x86_64 DEBUG util.py:445: python3-pip-9.0.3-24.el8.noarch DEBUG util.py:445: setup-2.12.2-11.el8.noarch DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 DEBUG util.py:445: libuuid-2.32.1-46.el8.x86_64 DEBUG util.py:445: info-6.5-7.el8_5.x86_64 DEBUG util.py:445: libmount-2.32.1-46.el8.x86_64 DEBUG util.py:445: libxml2-2.9.7-18.el8.x86_64 DEBUG util.py:445: pam-1.3.1-33.el8.x86_64 DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 DEBUG util.py:445: libX11-common-1.6.8-8.el8.noarch DEBUG util.py:445: elfutils-libelf-0.190-2.el8.x86_64 DEBUG util.py:445: libsmartcols-2.32.1-46.el8.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.28-251.el8.x86_64 DEBUG util.py:445: systemd-pam-239-81.el8.x86_64 DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.181-14.el8.x86_64 DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 DEBUG util.py:445: file-libs-5.33-26.el8.x86_64 DEBUG util.py:445: dbus-tools-1.12.8-26.el8.x86_64 DEBUG util.py:445: systemd-udev-239-81.el8.x86_64 DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 DEBUG util.py:445: libX11-1.6.8-8.el8.x86_64 DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 DEBUG util.py:445: cups-libs-2.2.6-57.el8.x86_64 DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 DEBUG util.py:445: glibc-2.28-251.el8.x86_64 DEBUG util.py:445: grep-3.1-6.el8.x86_64 DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 DEBUG util.py:445: sed-4.5-5.el8.x86_64 DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 DEBUG util.py:445: findutils-4.6.0-22.el8.x86_64 DEBUG util.py:445: dbus-libs-1.12.8-26.el8.x86_64 DEBUG util.py:445: gzip-1.9-13.el8.x86_64 DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 DEBUG util.py:445: p11-kit-trust-0.23.22-2.el8.x86_64 DEBUG util.py:445: openssl-libs-1.1.1k-12.el8.x86_64 DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 DEBUG util.py:445: trousers-lib-0.3.15-2.el8.x86_64 DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch DEBUG util.py:445: platform-python-3.6.8-59.el8.x86_64 DEBUG util.py:445: rpm-4.14.3-31.el8.x86_64 DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 DEBUG util.py:445: shared-mime-info-1.9-4.el8.x86_64 DEBUG util.py:445: gnutls-3.6.16-8.el8.1.x86_64 DEBUG util.py:445: dbus-1.12.8-26.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.el8.x86_64 DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-dns-1.15.0-11.el8.noarch DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch DEBUG util.py:445: python3-jinja2-2.10.1-4.el8.noarch DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch DEBUG util.py:445: openssh-8.0p1-24.el8.x86_64 DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: dwz-0.12-10.el8.x86_64 DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 DEBUG util.py:445: guile-2.0.14-7.el8.x86_64 DEBUG util.py:445: openssh-clients-8.0p1-24.el8.x86_64 DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 DEBUG util.py:445: annobin-11.13-2.el8.x86_64 DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch DEBUG util.py:445: npth-1.5-4.el8.x86_64 DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 DEBUG util.py:445: centos-gpg-keys-8-6.el8.noarch DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 DEBUG util.py:445: libnghttp2-1.33.0-5.el8.x86_64 DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 DEBUG util.py:445: grub2-tools-minimal-2.02-129.el8.x86_64 DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 DEBUG util.py:445: libXxf86vm-1.1.4-9.el8.x86_64 DEBUG util.py:445: grubby-8.40-48.el8.x86_64 DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 DEBUG util.py:445: gdbm-libs-1.18-2.el8.x86_64 DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch DEBUG util.py:445: libkcapi-hmaccalc-1.4.0-2.el8.x86_64 DEBUG util.py:445: libijs-0.35-5.el8.x86_64 DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: hardlink-1.3-6.el8.x86_64 DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch DEBUG util.py:445: pigz-2.4-4.el8.x86_64 DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch DEBUG util.py:445: openssl-1.1.1k-12.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch DEBUG util.py:445: curl-7.61.1-34.el8.x86_64 DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 DEBUG util.py:445: grub2-common-2.02-129.el8.noarch DEBUG util.py:445: libgs-9.27-12.el8.x86_64 DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch DEBUG util.py:445: audit-libs-3.1.2-1.el8.x86_64 DEBUG util.py:445: graphviz-2.40.1-45.el8.x86_64 DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 DEBUG util.py:445: rpm-build-4.14.3-31.el8.x86_64 DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: python3-eventlet-0.33.0-3.el8.noarch DEBUG util.py:445: pcre-8.42-6.el8.x86_64 DEBUG util.py:445: make-4.2.1-11.el8.x86_64 DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 DEBUG util.py:445: platform-python-pip-9.0.3-24.el8.noarch DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 DEBUG util.py:445: tzdata-2024a-1.el8.noarch DEBUG util.py:445: which-2.21-20.el8.x86_64 DEBUG util.py:445: python3-pip-wheel-9.0.3-24.el8.noarch DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 DEBUG util.py:445: gmp-6.1.2-12.el8.x86_64 DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 DEBUG util.py:445: libblkid-2.32.1-46.el8.x86_64 DEBUG util.py:445: kmod-25-20.el8.x86_64 DEBUG util.py:445: systemd-libs-239-81.el8.x86_64 DEBUG util.py:445: sqlite-libs-3.26.0-19.el8.x86_64 DEBUG util.py:445: libfdisk-2.32.1-46.el8.x86_64 DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 DEBUG util.py:445: libssh-config-0.9.6-14.el8.noarch DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: util-linux-2.32.1-46.el8.x86_64 DEBUG util.py:445: glibc-common-2.28-251.el8.x86_64 DEBUG util.py:445: systemd-239-81.el8.x86_64 DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 DEBUG util.py:445: device-mapper-1.02.181-14.el8.x86_64 DEBUG util.py:445: file-5.33-26.el8.x86_64 DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 DEBUG util.py:445: libssh-0.9.6-14.el8.x86_64 DEBUG util.py:445: elfutils-libs-0.190-2.el8.x86_64 DEBUG util.py:445: kernel-headers-4.18.0-544.el8.x86_64 DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 DEBUG util.py:445: libtirpc-1.1.4-10.el8.x86_64 DEBUG util.py:445: krb5-libs-1.18.2-26.el8.x86_64 DEBUG util.py:445: dracut-049-233.git20240115.el8.x86_64 DEBUG util.py:445: basesystem-11-5.el8.noarch DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 DEBUG util.py:445: readline-7.0-10.el8.x86_64 DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 DEBUG util.py:445: shadow-utils-4.6-22.el8.x86_64 DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: kmod-libs-25-20.el8.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 DEBUG util.py:445: dbus-daemon-1.12.8-26.el8.x86_64 DEBUG util.py:445: acl-2.2.53-3.el8.x86_64 DEBUG util.py:445: python3-libs-3.6.8-59.el8.x86_64 DEBUG util.py:445: python36-3.6.8-39.module_el8+762+77bd8591.x86_64 DEBUG util.py:445: rpm-libs-4.14.3-31.el8.x86_64 DEBUG util.py:445: glib2-2.56.4-163.el8.x86_64 DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: grub2-tools-2.02-129.el8.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el8.noarch DEBUG util.py:445: trousers-0.3.15-2.el8.x86_64 DEBUG util.py:445: libpng-1.6.34-5.el8.x86_64 DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 DEBUG util.py:445: python3-idna-2.5-5.el8.noarch DEBUG util.py:445: binutils-2.30-123.el8.x86_64 DEBUG util.py:445: glibc-headers-2.28-251.el8.x86_64 DEBUG util.py:445: unzip-6.0-46.el8.x86_64 DEBUG util.py:445: zip-3.0-23.el8.x86_64 DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 DEBUG util.py:445: python3-docutils-0.14-12.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch DEBUG util.py:445: python3-pyparsing-2.4.6-1.el8.noarch DEBUG util.py:445: python3-snowballstemmer-1.9.0-4.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch DEBUG util.py:445: tpm2-tss-2.3.2-6.el8.x86_64 DEBUG util.py:445: avahi-libs-0.7-27.el8.x86_64 DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 DEBUG util.py:445: elfutils-0.190-2.el8.x86_64 DEBUG util.py:445: harfbuzz-1.7.5-4.el8.x86_64 DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 DEBUG util.py:445: less-530-1.el8.x86_64 DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/.initialized DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'e225ed1a25be476fa36f6cae93b9763c', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/bin/rpm', '-Uvh', '--nodeps', '/builddir/build/originals/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.src.rpm'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: Updating / installing... DEBUG util.py:445: openstack-ironic-1:20.1.4-0.2024031810######################################## DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '24a3541326a84504823b36da08a04488', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/bin/rpm', '-qpl', '/builddir/build/originals/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.src.rpm'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: dnsmasq-tftp-server.conf DEBUG util.py:445: ironic-20.1.4.dev4-0.20240318104900.ee848a8.tar.gz DEBUG util.py:445: ironic-dist.conf DEBUG util.py:445: ironic-sudoers DEBUG util.py:445: ironic.logrotate DEBUG util.py:445: openstack-ironic-api.service DEBUG util.py:445: openstack-ironic-conductor.service DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server.service DEBUG util.py:445: openstack-ironic.service DEBUG util.py:445: openstack-ironic.spec DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: 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-centos8-yoga-x86_64-5/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1030gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '08e400b378ca4fe384b968bf2df0051e', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: Building target platforms: x86_64 DEBUG util.py:445: Building for target x86_64 DEBUG util.py:445: Wrote: /builddir/build/SRPMS/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.src.rpm DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'rprivate', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/proc', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,nodev,noexec,nosuid,readonly,rprivate,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'rprivate', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/sys', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,nodev,noexec,nosuid,readonly,rprivate,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'devpts', '-o', 'gid=5,mode=0620,ptmxmode=0666,newinstance', 'devpts', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/', '--releasever', '8', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.src.rpm'] DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.sx535p18:/etc/resolv.conf'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'd09dd8cf302b4fb087e781ac3fda6b76', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.sx535p18:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--setenv=LC_MESSAGES=C.UTF-8', '--resolv-conf=off', '/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/', '--releasever', '8', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.src.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'LC_MESSAGES': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: Last metadata expiration check: 0:00:04 ago on Mon Mar 18 10:49:57 2024. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20230216203412.ce6a105.el8.noarch is already installed. DEBUG util.py:445: Package python36-devel-3.6.8-39.module_el8+762+77bd8591.x86_64 is already installed. DEBUG util.py:445: Package python3-eventlet-0.33.0-3.el8.noarch is already installed. DEBUG util.py:445: Package python3-jinja2-2.10.1-4.el8.noarch is already installed. DEBUG util.py:445: Package python3-pbr-5.5.1-1.el8.noarch is already installed. DEBUG util.py:445: Package python3-pytz-2017.2-11.el8.noarch is already installed. DEBUG util.py:445: Package python3-requests-2.25.1-1.el8.noarch is already installed. DEBUG util.py:445: Package python3-setuptools-50.3.2-1.el8.noarch is already installed. DEBUG util.py:445: Package python3-sphinx-1:2.2.2-1.el8.noarch is already installed. DEBUG util.py:445: Package python3-sqlalchemy-1.4.31-1.el8.x86_64 is already installed. DEBUG util.py:445: Package systemd-239-81.el8.x86_64 is already installed. DEBUG util.py:445: Dependencies resolved. DEBUG util.py:445: ===================================================================================================================== DEBUG util.py:445: Package Arch Version Repository Size DEBUG util.py:445: ===================================================================================================================== DEBUG util.py:445: Installing: DEBUG util.py:445: gmp-devel x86_64 1:6.1.2-12.el8 Stream-BaseOS 188 k DEBUG util.py:445: libxml2-devel x86_64 2.9.7-18.el8 Stream-AppStream 1.1 M DEBUG util.py:445: libxslt-devel x86_64 1.1.32-6.el8 Stream-AppStream 323 k DEBUG util.py:445: openssl-devel x86_64 1:1.1.1k-12.el8 Stream-BaseOS 3.2 M DEBUG util.py:445: python3-alembic noarch 1.7.1-3.el8 delorean-yoga-testing 1.1 M DEBUG util.py:445: python3-automaton noarch 2.5.0-0.20220314171459.aaca110.el8 delorean-component-common 41 k DEBUG util.py:445: python3-cinderclient noarch 8.3.0-0.20220314194227.ee59b68.el8 delorean-component-clients 229 k DEBUG util.py:445: python3-ddt noarch 1.2.1-4.el8 delorean-yoga-testing 18 k DEBUG util.py:445: python3-dracclient noarch 8.0.1-0.20220413232915.eee5037.el8 delorean-component-baremetal 187 k DEBUG util.py:445: python3-futurist noarch 2.4.0-0.20220311160357.d70c7e5.el8 delorean-component-common 63 k DEBUG util.py:445: python3-glanceclient noarch 1:3.6.0-0.20220314183717.626c500.el8 delorean-component-clients 151 k DEBUG util.py:445: python3-ironic-lib noarch 5.2.0-0.20220316145422.e205816.el8 delorean-component-baremetal 146 k DEBUG util.py:445: python3-jsonpatch noarch 1.21-2.el8 Stream-AppStream 27 k DEBUG util.py:445: python3-jsonschema noarch 3.2.0-5.el8 delorean-yoga-testing 112 k DEBUG util.py:445: python3-keystoneauth1 noarch 4.5.0-0.20240201061910.8da0a63.el8 delorean-component-security 431 k DEBUG util.py:445: python3-keystonemiddleware noarch 9.4.0-0.20240201064833.8a05709.el8 delorean-component-security 92 k DEBUG util.py:445: python3-mock noarch 3.0.5-7.el8 delorean-yoga-testing 55 k DEBUG util.py:445: python3-neutronclient noarch 7.8.0-0.20220315090519.6ca3341.el8 delorean-component-clients 311 k DEBUG util.py:445: python3-openstacksdk noarch 0.62.0-0.20230411165545.4ceff8f.el8 delorean-component-clients 882 k DEBUG util.py:445: python3-os-traits noarch 2.7.0-0.20220314182947.3d1dbf0.el8 delorean-component-common 46 k DEBUG util.py:445: python3-oslo-concurrency noarch 4.5.0-0.20220311165052.a9ccf0a.el8 delorean-component-common 41 k DEBUG util.py:445: python3-oslo-config noarch 2:8.8.1-0.20231115112140.966c588.el8 delorean-component-common 227 k DEBUG util.py:445: python3-oslo-context noarch 4.1.0-0.20220314115038.3400cc2.el8 delorean-component-common 25 k DEBUG util.py:445: python3-oslo-db noarch 11.2.0-0.20220314165526.22c602f.el8 delorean-component-common 144 k DEBUG util.py:445: python3-oslo-db-tests noarch 11.2.0-0.20220314165526.22c602f.el8 delorean-component-common 142 k DEBUG util.py:445: python3-oslo-i18n noarch 5.1.0-0.20220307124733.b031d17.el8 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-log noarch 4.7.0-0.20220324144856.de03a59.el8 delorean-component-common 62 k DEBUG util.py:445: python3-oslo-messaging noarch 12.13.3-0.20231124143847.047da4e.el8 delorean-component-common 233 k DEBUG util.py:445: python3-oslo-middleware noarch 4.5.1-0.20220314160906.2f72b30.el8 delorean-component-common 57 k DEBUG util.py:445: python3-oslo-policy noarch 3.11.0-0.20220314171849.b48b711.el8 delorean-component-common 76 k DEBUG util.py:445: python3-oslo-reports noarch 2.3.0-0.20220311164623.f2799dc.el8 delorean-component-common 58 k DEBUG util.py:445: python3-oslo-rootwrap noarch 6.3.1-0.20220314191346.1b1b960.el8 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-serialization noarch 4.3.0-0.20220311151409.6910f75.el8 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 2.8.0-0.20220314165315.6552b9a.el8 delorean-component-common 70 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 1.5.0-0.20220314174419.1559e03.el8 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-utils noarch 4.12.4-0.20240126084419.92d0c17.el8 delorean-component-common 80 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 2.6.0-0.20220314182459.25d34d6.el8 delorean-component-common 78 k DEBUG util.py:445: python3-oslotest noarch 4.5.0-0.20220310171510.d4b1896.el8 delorean-component-clients 47 k DEBUG util.py:445: python3-osprofiler noarch 3.4.2-0.20220307232434.e475de6.el8 delorean-component-common 132 k DEBUG util.py:445: python3-pecan noarch 1.3.3-2.el8 delorean-yoga-testing 283 k DEBUG util.py:445: python3-proliantutils noarch 2.12.2-0.20220316122454.500f518.el8 delorean-component-baremetal 293 k DEBUG util.py:445: python3-psutil x86_64 5.7.3-1.el8 delorean-yoga-testing 420 k DEBUG util.py:445: python3-pycdlib noarch 1.11.0-3.el8 delorean-yoga-testing 262 k DEBUG util.py:445: python3-pysnmp noarch 4.4.12-1.el8 delorean-yoga-testing 698 k DEBUG util.py:445: python3-scciclient noarch 0.12.3-0.20220729095350.0940a71.el8 delorean-component-baremetal 124 k DEBUG util.py:445: python3-stestr noarch 3.2.0-3.el8 delorean-yoga-testing 177 k DEBUG util.py:445: python3-stevedore noarch 3.5.2-0.20221024072403.6c9978a.el8 delorean-component-clients 69 k DEBUG util.py:445: python3-sushy noarch 4.1.7-0.20240202135909.fdbcb17.el8 delorean-component-baremetal 194 k DEBUG util.py:445: python3-swiftclient noarch 3.13.1-0.20220314193840.4989d94.el8 delorean-component-clients 175 k DEBUG util.py:445: python3-tenacity noarch 6.3.1-1.el8 delorean-yoga-testing 51 k DEBUG util.py:445: python3-testresources noarch 2.0.1-1.el8 delorean-yoga-testing 62 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-17.el8 delorean-yoga-testing 40 k DEBUG util.py:445: python3-testtools noarch 2.5.0-3.el8 delorean-yoga-testing 353 k DEBUG util.py:445: python3-tooz noarch 2.10.1-0.20220314164958.e88e601.el8 delorean-component-common 109 k DEBUG util.py:445: python3-webob noarch 1.8.6-3.el8 delorean-yoga-testing 253 k DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: cmake-filesystem x86_64 3.26.5-2.el8 Stream-AppStream 52 k DEBUG util.py:445: gmp-c++ x86_64 1:6.1.2-12.el8 Stream-BaseOS 33 k DEBUG util.py:445: keyutils-libs-devel x86_64 1.5.10-9.el8 Stream-BaseOS 48 k DEBUG util.py:445: krb5-devel x86_64 1.18.2-26.el8 Stream-BaseOS 577 k DEBUG util.py:445: libcom_err-devel x86_64 1.45.6-5.el8 Stream-BaseOS 39 k DEBUG util.py:445: libgcrypt-devel x86_64 1.8.5-7.el8 Stream-BaseOS 150 k DEBUG util.py:445: libgpg-error-devel x86_64 1.31-1.el8 Stream-BaseOS 64 k DEBUG util.py:445: libkadm5 x86_64 1.18.2-26.el8 Stream-BaseOS 188 k DEBUG util.py:445: libpq x86_64 13.5-1.el8 Stream-AppStream 198 k DEBUG util.py:445: libselinux-devel x86_64 2.9-8.el8 Stream-BaseOS 200 k DEBUG util.py:445: libsepol-devel x86_64 2.9-3.el8 Stream-BaseOS 87 k DEBUG util.py:445: libsodium x86_64 1.0.18-2.el8 delorean-yoga-testing 163 k DEBUG util.py:445: libverto-devel x86_64 0.3.2-2.el8 Stream-BaseOS 18 k DEBUG util.py:445: libxslt x86_64 1.1.32-6.el8 Stream-BaseOS 250 k DEBUG util.py:445: libyaml x86_64 0.1.7-5.el8 Stream-BaseOS 61 k DEBUG util.py:445: pcre2-devel x86_64 10.32-3.el8 Stream-BaseOS 605 k DEBUG util.py:445: pcre2-utf16 x86_64 10.32-3.el8 Stream-BaseOS 229 k DEBUG util.py:445: pcre2-utf32 x86_64 10.32-3.el8 Stream-BaseOS 220 k DEBUG util.py:445: python-oslo-cache-lang noarch 2.10.1-0.20220314140354.d75020b.el8 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 4.5.0-0.20220311165052.a9ccf0a.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-db-lang noarch 11.2.0-0.20220314165526.22c602f.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-i18n-lang noarch 5.1.0-0.20220307124733.b031d17.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 4.7.0-0.20220324144856.de03a59.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-middleware-lang noarch 4.5.1-0.20220314160906.2f72b30.el8 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 3.11.0-0.20220314171849.b48b711.el8 delorean-component-common 11 k DEBUG util.py:445: python-oslo-utils-lang noarch 4.12.4-0.20240126084419.92d0c17.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 2.6.0-0.20220314182459.25d34d6.el8 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20220311163944.4179996.el8 delorean-component-common 14 k DEBUG util.py:445: python3-PyMySQL noarch 0.10.1-2.module_el8+762+77bd8591 Stream-AppStream 110 k DEBUG util.py:445: python3-amqp noarch 5.0.9-1.el8 delorean-yoga-testing 99 k DEBUG util.py:445: python3-appdirs noarch 1.4.3-12.el8 delorean-yoga-testing 23 k DEBUG util.py:445: python3-attrs noarch 17.4.0-6.el8 Stream-AppStream 53 k DEBUG util.py:445: python3-autopage noarch 0.4.0-1.el8 delorean-yoga-testing 38 k DEBUG util.py:445: python3-bcrypt x86_64 3.1.7-3.el8 delorean-yoga-testing 44 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.9.3-1.el8 delorean-yoga-testing 215 k DEBUG util.py:445: python3-cachetools noarch 4.2.0-1.el8 delorean-yoga-testing 35 k DEBUG util.py:445: python3-cffi x86_64 1.13.2-1.el8 delorean-yoga-testing 245 k DEBUG util.py:445: python3-cliff noarch 3.10.1-0.20220314185955.a04a48f.el8 delorean-component-common 95 k DEBUG util.py:445: python3-cmd2 noarch 1.4.0-1.1.el8 delorean-yoga-testing 307 k DEBUG util.py:445: python3-colorama noarch 0.4.3-3.el8 delorean-yoga-testing 36 k DEBUG util.py:445: python3-cryptography x86_64 3.2.1-7.el8 Stream-BaseOS 641 k DEBUG util.py:445: python3-dateutil noarch 1:2.6.1-6.el8 Stream-BaseOS 251 k DEBUG util.py:445: python3-debtcollector noarch 2.5.0-0.20220317120440.a6b46c5.el8 delorean-component-common 31 k DEBUG util.py:445: python3-decorator noarch 4.4.0-5.el8 delorean-yoga-testing 32 k DEBUG util.py:445: python3-defusedxml noarch 0.7.1-1.el8 delorean-yoga-testing 54 k DEBUG util.py:445: python3-dogpile-cache noarch 1.1.5-1.1.el8 delorean-yoga-testing 91 k DEBUG util.py:445: python3-etcd3gw noarch 0.2.5-1.el8 delorean-yoga-testing 41 k DEBUG util.py:445: python3-extras noarch 1.0.0-10.el8 delorean-yoga-testing 21 k DEBUG util.py:445: python3-fasteners noarch 0.14.1-20.el8 delorean-yoga-testing 44 k DEBUG util.py:445: python3-fixtures noarch 3.0.0-27.el8 delorean-yoga-testing 98 k DEBUG util.py:445: python3-future noarch 0.18.2-3.el8 delorean-yoga-testing 789 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-2.el8 delorean-yoga-testing 22 k DEBUG util.py:445: python3-importlib-metadata noarch 1.7.0-1.el8 delorean-yoga-testing 46 k DEBUG util.py:445: python3-importlib-resources noarch 4.1.1-1.el8 delorean-yoga-testing 47 k DEBUG util.py:445: python3-inotify noarch 0.9.6-13.el8 Stream-BaseOS 57 k DEBUG util.py:445: python3-iso8601 noarch 0.1.12-3.el8 delorean-yoga-testing 25 k DEBUG util.py:445: python3-jeepney noarch 0.4.3-1.el8 delorean-yoga-testing 4.7 M DEBUG util.py:445: python3-jmespath noarch 0.9.0-11.el8 Stream-AppStream 45 k DEBUG util.py:445: python3-jsonpointer noarch 1.10-11.el8 Stream-AppStream 20 k DEBUG util.py:445: python3-kazoo noarch 2.8.0-1.el8 delorean-yoga-testing 164 k DEBUG util.py:445: python3-keyring noarch 21.0.0-1.el8 delorean-yoga-testing 80 k DEBUG util.py:445: python3-keystoneclient noarch 1:4.4.0-0.20220314190516.100253d.el8 delorean-component-clients 252 k DEBUG util.py:445: python3-kombu noarch 1:5.0.2-1.el8 delorean-yoga-testing 338 k DEBUG util.py:445: python3-logutils noarch 0.3.5-11.el8 delorean-yoga-testing 49 k DEBUG util.py:445: python3-lxml x86_64 4.2.3-4.el8 Stream-AppStream 1.5 M DEBUG util.py:445: python3-mako noarch 1.0.6-14.el8 Stream-AppStream 157 k DEBUG util.py:445: python3-memcached noarch 1.59-1.el8 delorean-yoga-testing 44 k DEBUG util.py:445: python3-migrate noarch 0.13.0-1.el8 delorean-yoga-testing 238 k DEBUG util.py:445: python3-msgpack x86_64 1.0.3-2.el8 delorean-yoga-testing 93 k DEBUG util.py:445: python3-munch noarch 2.5.0-3.el8 delorean-yoga-testing 26 k DEBUG util.py:445: python3-netaddr noarch 0.7.19-8.el8 Stream-AppStream 1.5 M DEBUG util.py:445: python3-netifaces x86_64 0.10.6-4.el8 Stream-AppStream 25 k DEBUG util.py:445: python3-os-client-config noarch 2.1.0-0.20220307201837.bc96c23.el8 delorean-component-tripleo 53 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20220307143627.0b2f473.el8 delorean-component-clients 36 k DEBUG util.py:445: python3-osc-lib noarch 2.5.0-0.20220315075903.78d276e.el8 delorean-component-clients 77 k DEBUG util.py:445: python3-oslo-cache noarch 2.10.1-0.20220314140354.d75020b.el8 delorean-component-common 53 k DEBUG util.py:445: python3-oslo-metrics noarch 0.4.0-0.20220314171631.b4eb8c3.el8 delorean-component-common 23 k DEBUG util.py:445: python3-paste noarch 3.5.0-1.el8 delorean-yoga-testing 813 k DEBUG util.py:445: python3-paste-deploy noarch 2.1.1-1.el8 delorean-yoga-testing 40 k DEBUG util.py:445: python3-ply noarch 3.9-9.el8 Stream-BaseOS 111 k DEBUG util.py:445: python3-prettytable noarch 0.7.2-14.el8 Stream-AppStream 44 k DEBUG util.py:445: python3-prometheus_client noarch 0.7.1-2.el8 delorean-yoga-testing 82 k DEBUG util.py:445: python3-psycopg2 x86_64 2.7.5-7.el8 Stream-AppStream 172 k DEBUG util.py:445: python3-pyOpenSSL noarch 19.0.0-1.el8 Stream-AppStream 103 k DEBUG util.py:445: python3-pyasn1 noarch 0.4.6-3.el8 delorean-yoga-testing 140 k DEBUG util.py:445: python3-pycadf noarch 3.1.1-0.20220311163944.4179996.el8 delorean-component-common 51 k DEBUG util.py:445: python3-pycparser noarch 2.14-14.el8 Stream-BaseOS 109 k DEBUG util.py:445: python3-pyghmi noarch 1.5.29-1.el8 Stream-AppStream 350 k DEBUG util.py:445: python3-pynacl x86_64 1.4.0-1.el8 delorean-yoga-testing 109 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-4.el8 delorean-yoga-testing 54 k DEBUG util.py:445: python3-pyperclip noarch 1.8.0-2.el8 delorean-yoga-testing 24 k DEBUG util.py:445: python3-pyrsistent x86_64 0.17.3-1.el8 delorean-yoga-testing 107 k DEBUG util.py:445: python3-pyyaml x86_64 5.4.1-2.el8 delorean-yoga-testing 208 k DEBUG util.py:445: python3-qpid-proton x86_64 0.35.0-3.el8s centos-opstools 396 k DEBUG util.py:445: python3-redis noarch 3.5.3-1.el8 delorean-yoga-testing 142 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-6.el8 delorean-yoga-testing 33 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20220307123924.d7ac0ff.el8 delorean-component-common 15 k DEBUG util.py:445: python3-retrying noarch 1.3.3-1.el8 delorean-yoga-testing 23 k DEBUG util.py:445: python3-rfc3986 noarch 1.4.0-3.el8 delorean-yoga-testing 52 k DEBUG util.py:445: python3-routes noarch 2.4.1-12.el8 delorean-yoga-testing 196 k DEBUG util.py:445: python3-secretstorage noarch 3.1.1-4.el8 delorean-yoga-testing 36 k DEBUG util.py:445: python3-simplejson x86_64 3.17.6-2.el8 delorean-yoga-testing 282 k DEBUG util.py:445: python3-smi noarch 0.3.4-6.el8 delorean-yoga-testing 136 k DEBUG util.py:445: python3-soupsieve noarch 2.3.1-2.el8 delorean-yoga-testing 75 k DEBUG util.py:445: python3-sqlparse noarch 0.3.1-3.el8 delorean-yoga-testing 88 k DEBUG util.py:445: python3-statsd noarch 3.2.1-16.el8 delorean-yoga-testing 35 k DEBUG util.py:445: python3-subunit noarch 1.4.0-1.el8 delorean-yoga-testing 97 k DEBUG util.py:445: python3-tempita noarch 0.5.1-25.el8 delorean-yoga-testing 39 k DEBUG util.py:445: python3-vine noarch 5.0.0-2.el8 delorean-yoga-testing 26 k DEBUG util.py:445: python3-voluptuous noarch 0.12.1-1.el8 delorean-yoga-testing 62 k DEBUG util.py:445: python3-waitress noarch 1.4.2-1.el8 delorean-yoga-testing 255 k DEBUG util.py:445: python3-warlock noarch 1.3.3-1.el8 delorean-yoga-testing 22 k DEBUG util.py:445: python3-wcwidth noarch 0.2.5-2.el8 delorean-yoga-testing 47 k DEBUG util.py:445: python3-webencodings noarch 0.5.1-6.el8 Stream-AppStream 27 k DEBUG util.py:445: python3-webtest noarch 2.0.35-3.el8 delorean-yoga-testing 87 k DEBUG util.py:445: python3-wrapt x86_64 1.13.3-2.el8 delorean-yoga-testing 57 k DEBUG util.py:445: python3-yappi x86_64 1.3.0-1.el8 delorean-yoga-testing 54 k DEBUG util.py:445: python3-zake noarch 0.2.2-18.el8 delorean-yoga-testing 46 k DEBUG util.py:445: python3-zeroconf noarch 0.24.4-1.el8 delorean-yoga-testing 93 k DEBUG util.py:445: python3-zipp noarch 3.4.0-1.el8 delorean-yoga-testing 16 k DEBUG util.py:445: qpid-proton-c x86_64 0.35.0-3.el8s centos-opstools 218 k DEBUG util.py:445: xz-devel x86_64 5.2.4-4.el8 Stream-BaseOS 63 k DEBUG util.py:445: zlib-devel x86_64 1.2.11-25.el8 Stream-BaseOS 59 k DEBUG util.py:445: Installing weak dependencies: DEBUG util.py:445: python3-cssselect noarch 0.9.2-13.el8 delorean-yoga-testing 40 k DEBUG util.py:445: python3-html5lib noarch 1:0.999999999-6.el8 Stream-AppStream 214 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ===================================================================================================================== DEBUG util.py:445: Install 180 Packages DEBUG util.py:445: Total size: 35 M DEBUG util.py:445: Total download size: 995 k DEBUG util.py:445: Installed size: 124 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-cinderclient-8.3.0-0.20220314194227.ee59b68.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-3.6.0-0.20220314183717.626c500.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-4.4.0-0.20220314190516.100253d.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-neutronclient-7.8.0-0.20220315090519.6ca3341.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-openstacksdk-0.62.0-0.20230411165545.4ceff8f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20220307143627.0b2f473.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osc-lib-2.5.0-0.20220315075903.78d276e.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslotest-4.5.0-0.20220310171510.d4b1896.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-3.5.2-0.20221024072403.6c9978a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-swiftclient-3.13.1-0.20220314193840.4989d94.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-cache-lang-2.10.1-0.20220314140354.d75020b.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-4.5.0-0.20220311165052.a9ccf0a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-db-lang-11.2.0-0.20220314165526.22c602f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-5.1.0-0.20220307124733.b031d17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-4.7.0-0.20220324144856.de03a59.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-middleware-lang-4.5.1-0.20220314160906.2f72b30.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-policy-lang-3.11.0-0.20220314171849.b48b711.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-4.12.4-0.20240126084419.92d0c17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-versionedobjects-lang-2.6.0-0.20220314182459.25d34d6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-pycadf-common-3.1.1-0.20220311163944.4179996.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-automaton-2.5.0-0.20220314171459.aaca110.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-3.10.1-0.20220314185955.a04a48f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-2.5.0-0.20220317120440.a6b46c5.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-futurist-2.4.0-0.20220311160357.d70c7e5.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-traits-2.7.0-0.20220314182947.3d1dbf0.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache-2.10.1-0.20220314140354.d75020b.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-4.5.0-0.20220311165052.a9ccf0a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-8.8.1-0.20231115112140.966c588.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-4.1.0-0.20220314115038.3400cc2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-11.2.0-0.20220314165526.22c602f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-tests-11.2.0-0.20220314165526.22c602f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-5.1.0-0.20220307124733.b031d17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-4.7.0-0.20220324144856.de03a59.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging-12.13.3-0.20231124143847.047da4e.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-metrics-0.4.0-0.20220314171631.b4eb8c3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-middleware-4.5.1-0.20220314160906.2f72b30.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-policy-3.11.0-0.20220314171849.b48b711.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-reports-2.3.0-0.20220311164623.f2799dc.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1b960.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-4.3.0-0.20220311151409.6910f75.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-service-2.8.0-0.20220314165315.6552b9a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-upgradecheck-1.5.0-0.20220314174419.1559e03.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-4.12.4-0.20240126084419.92d0c17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-versionedobjects-2.6.0-0.20220314182459.25d34d6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osprofiler-3.4.2-0.20220307232434.e475de6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycadf-3.1.1-0.20220311163944.4179996.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20220307123924.d7ac0ff.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz-2.10.1-0.20220314164958.e88e601.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-4.5.0-0.20240201061910.8da0a63.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystonemiddleware-9.4.0-0.20240201064833.8a05709.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-client-config-2.1.0-0.20220307201837.bc96c23.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] gmp-c++-6.1.2-12.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] gmp-devel-6.1.2-12.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] keyutils-libs-devel-1.5.10-9.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] krb5-devel-1.18.2-26.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libcom_err-devel-1.45.6-5.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libgcrypt-devel-1.8.5-7.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libgpg-error-devel-1.31-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libkadm5-1.18.2-26.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libselinux-devel-2.9-8.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libsepol-devel-2.9-3.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libverto-devel-0.3.2-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libxslt-1.1.32-6.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libyaml-0.1.7-5.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] openssl-devel-1.1.1k-12.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] pcre2-devel-10.32-3.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] pcre2-utf16-10.32-3.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] pcre2-utf32-10.32-3.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cryptography-3.2.1-7.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dateutil-2.6.1-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-inotify-0.9.6-13.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ply-3.9-9.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycparser-2.14-14.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] xz-devel-5.2.4-4.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] zlib-devel-1.2.11-25.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] cmake-filesystem-3.26.5-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libpq-13.5-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libxml2-devel-2.9.7-18.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libxslt-devel-1.1.32-6.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-attrs-17.4.0-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-html5lib-0.999999999-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jmespath-0.9.0-11.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonpatch-1.21-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonpointer-1.10-11.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-lxml-4.2.3-4.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-mako-1.0.6-14.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-netaddr-0.7.19-8.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-netifaces-0.10.6-4.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prettytable-0.7.2-14.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-psycopg2-2.7.5-7.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyOpenSSL-19.0.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyghmi-1.5.29-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webencodings-0.5.1-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libsodium-1.0.18-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-alembic-1.7.1-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-amqp-5.0.9-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-appdirs-1.4.3-12.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-autopage-0.4.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-bcrypt-3.1.7-3.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-beautifulsoup4-4.9.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cachetools-4.2.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cffi-1.13.2-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cmd2-1.4.0-1.1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-colorama-0.4.3-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cssselect-0.9.2-13.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ddt-1.2.1-4.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-decorator-4.4.0-5.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-defusedxml-0.7.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dogpile-cache-1.1.5-1.1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-etcd3gw-0.2.5-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-extras-1.0.0-10.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fasteners-0.14.1-20.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fixtures-3.0.0-27.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-future-0.18.2-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ifaddr-0.1.7-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-importlib-metadata-1.7.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-importlib-resources-4.1.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-iso8601-0.1.12-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jeepney-0.4.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonschema-3.2.0-5.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kazoo-2.8.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keyring-21.0.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kombu-5.0.2-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-logutils-0.3.5-11.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-memcached-1.59-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-migrate-0.13.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-mock-3.0.5-7.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-msgpack-1.0.3-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-munch-2.5.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-3.5.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-deploy-2.1.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pecan-1.3.3-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prometheus_client-0.7.1-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-psutil-5.7.3-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyasn1-0.4.6-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycdlib-1.11.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pynacl-1.4.0-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyngus-2.3.0-4.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyperclip-1.8.0-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyrsistent-0.17.3-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pysnmp-4.4.12-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyyaml-5.4.1-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-redis-3.5.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-repoze-lru-0.7-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-retrying-1.3.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-rfc3986-1.4.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-routes-2.4.1-12.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-secretstorage-3.1.1-4.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-simplejson-3.17.6-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-smi-0.3.4-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-soupsieve-2.3.1-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sqlparse-0.3.1-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-statsd-3.2.1-16.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stestr-3.2.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-subunit-1.4.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tempita-0.5.1-25.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testresources-2.0.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testscenarios-0.5.0-17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testtools-2.5.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-vine-5.0.0-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-voluptuous-0.12.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-waitress-1.4.2-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-warlock-1.3.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wcwidth-0.2.5-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webob-1.8.6-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webtest-2.0.35-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wrapt-1.13.3-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-yappi-1.3.0-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zake-0.2.2-18.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zeroconf-0.24.4-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zipp-3.4.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-qpid-proton-0.35.0-3.el8s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] qpid-proton-c-0.35.0-3.el8s.x86_64.rpm: Already downloaded DEBUG util.py:445: (175/180): python3-dracclient-8.0.1-0.202204132 1.1 MB/s | 187 kB 00:00 DEBUG util.py:445: (176/180): python3-ironic-lib-5.2.0-0.202203161 796 kB/s | 146 kB 00:00 DEBUG util.py:445: (177/180): python3-scciclient-0.12.3-0.20220729 3.9 MB/s | 124 kB 00:00 DEBUG util.py:445: (178/180): python3-proliantutils-2.12.2-0.20220 1.4 MB/s | 293 kB 00:00 DEBUG util.py:445: (179/180): python3-sushy-4.1.7-0.20240202135909 4.0 MB/s | 194 kB 00:00 DEBUG util.py:445: (180/180): python3-tenacity-6.3.1-1.el8.noarch. 1.3 MB/s | 51 kB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 3.7 MB/s | 995 kB 00:00 DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : python3-webob-1.8.6-3.el8.noarch 1/180 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-14.el8.noarch 2/180 DEBUG util.py:445: Installing : python3-iso8601-0.1.12-3.el8.noarch 3/180 DEBUG util.py:445: Installing : python3-netaddr-0.7.19-8.el8.noarch 4/180 DEBUG util.py:445: Installing : python3-decorator-4.4.0-5.el8.noarch 5/180 DEBUG util.py:445: Installing : python3-simplejson-3.17.6-2.el8.x86_64 6/180 DEBUG util.py:445: Installing : python3-extras-1.0.0-10.el8.noarch 7/180 DEBUG util.py:445: Installing : python3-fixtures-3.0.0-27.el8.noarch 8/180 DEBUG util.py:445: Installing : python3-testtools-2.5.0-3.el8.noarch 9/180 DEBUG util.py:445: Installing : python3-mako-1.0.6-14.el8.noarch 10/180 DEBUG util.py:445: Installing : python3-dateutil-1:2.6.1-6.el8.noarch 11/180 DEBUG util.py:445: Installing : python3-futurist-2.4.0-0.20220311160357.d70c7e5. 12/180 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20220307143627. 13/180 DEBUG util.py:445: Installing : python3-subunit-1.4.0-1.el8.noarch 14/180 DEBUG util.py:445: Installing : python3-zipp-3.4.0-1.el8.noarch 15/180 DEBUG util.py:445: Installing : python3-importlib-metadata-1.7.0-1.el8.noarch 16/180 DEBUG util.py:445: Installing : python3-stevedore-3.5.2-0.20221024072403.6c9978a 17/180 DEBUG util.py:445: Installing : python3-keystoneauth1-4.5.0-0.20240201061910.8da 18/180 DEBUG util.py:445: Installing : python3-dogpile-cache-1.1.5-1.1.el8.noarch 19/180 DEBUG util.py:445: Installing : python3-wrapt-1.13.3-2.el8.x86_64 20/180 DEBUG util.py:445: Installing : python3-debtcollector-2.5.0-0.20220317120440.a6b 21/180 DEBUG util.py:445: Installing : python3-oslo-context-4.1.0-0.20220314115038.3400 22/180 DEBUG util.py:445: Installing : python3-voluptuous-0.12.1-1.el8.noarch 23/180 DEBUG util.py:445: Installing : python3-vine-5.0.0-2.el8.noarch 24/180 DEBUG util.py:445: Installing : python3-amqp-5.0.9-1.el8.noarch 25/180 DEBUG util.py:445: Installing : python3-tenacity-6.3.1-1.el8.noarch 26/180 DEBUG util.py:445: Installing : python3-tempita-0.5.1-25.el8.noarch 27/180 DEBUG util.py:445: Installing : python3-msgpack-1.0.3-2.el8.x86_64 28/180 DEBUG util.py:445: Installing : python3-fasteners-0.14.1-20.el8.noarch 29/180 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-4.el8.x86_64 30/180 DEBUG util.py:445: Installing : python3-attrs-17.4.0-6.el8.noarch 31/180 DEBUG util.py:445: Installing : zlib-devel-1.2.11-25.el8.x86_64 32/180 DEBUG util.py:445: Installing : python3-ply-3.9-9.el8.noarch 33/180 DEBUG util.py:445: Installing : libxslt-1.1.32-6.el8.x86_64 34/180 DEBUG util.py:445: Installing : libgpg-error-devel-1.31-1.el8.x86_64 35/180 DEBUG util.py:445: Running scriptlet: libgpg-error-devel-1.31-1.el8.x86_64 35/180 DEBUG util.py:445: Installing : libgcrypt-devel-1.8.5-7.el8.x86_64 36/180 DEBUG util.py:445: Running scriptlet: libgcrypt-devel-1.8.5-7.el8.x86_64 36/180 DEBUG util.py:445: Installing : python3-pycparser-2.14-14.el8.noarch 37/180 DEBUG util.py:445: Installing : python3-cffi-1.13.2-1.el8.x86_64 38/180 DEBUG util.py:445: Installing : python3-cryptography-3.2.1-7.el8.x86_64 39/180 DEBUG util.py:445: Installing : python3-pyOpenSSL-19.0.0-1.el8.noarch 40/180 DEBUG util.py:445: Installing : python3-paste-3.5.0-1.el8.noarch 41/180 DEBUG util.py:445: Installing : python3-bcrypt-3.1.7-3.el8.x86_64 42/180 DEBUG util.py:445: Installing : python3-paste-deploy-2.1.1-1.el8.noarch 43/180 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591 44/180 DEBUG util.py:445: Installing : python3-pyghmi-1.5.29-1.el8.noarch 45/180 DEBUG util.py:445: Installing : python3-smi-0.3.4-6.el8.noarch 46/180 DEBUG util.py:445: Installing : python3-kombu-1:5.0.2-1.el8.noarch 47/180 DEBUG util.py:445: Installing : python3-sushy-4.1.7-0.20240202135909.fdbcb17.el8 48/180 DEBUG util.py:445: Installing : python3-importlib-resources-4.1.1-1.el8.noarch 49/180 DEBUG util.py:445: Installing : python3-alembic-1.7.1-3.el8.noarch 50/180 DEBUG util.py:445: Installing : python3-oslotest-4.5.0-0.20220310171510.d4b1896. 51/180 DEBUG util.py:445: Installing : python3-etcd3gw-0.2.5-1.el8.noarch 52/180 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-17.el8.noarch 53/180 DEBUG util.py:445: Installing : python3-prometheus_client-0.7.1-2.el8.noarch 54/180 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-3.el8s.x86_64 55/180 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-3.el8s.x86_64 56/180 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-4.el8.noarch 57/180 DEBUG util.py:445: Installing : python3-yappi-1.3.0-1.el8.x86_64 58/180 DEBUG util.py:445: Installing : python3-wcwidth-0.2.5-2.el8.noarch 59/180 DEBUG util.py:445: Installing : python3-waitress-1.4.2-1.el8.noarch 60/180 DEBUG util.py:445: Installing : python3-testresources-2.0.1-1.el8.noarch 61/180 DEBUG util.py:445: Installing : python3-statsd-3.2.1-16.el8.noarch 62/180 DEBUG util.py:445: Installing : python3-sqlparse-0.3.1-3.el8.noarch 63/180 DEBUG util.py:445: Installing : python3-migrate-0.13.0-1.el8.noarch 64/180 DEBUG util.py:445: Installing : python3-soupsieve-2.3.1-2.el8.noarch 65/180 DEBUG util.py:445: Installing : python3-rfc3986-1.4.0-3.el8.noarch 66/180 DEBUG util.py:445: Installing : python3-retrying-1.3.3-1.el8.noarch 67/180 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-6.el8.noarch 68/180 DEBUG util.py:445: Installing : python3-routes-2.4.1-12.el8.noarch 69/180 DEBUG util.py:445: Installing : python3-redis-3.5.3-1.el8.noarch 70/180 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-1.el8.x86_64 71/180 DEBUG util.py:445: Installing : python3-jsonschema-3.2.0-5.el8.noarch 72/180 DEBUG util.py:445: Installing : python3-pyperclip-1.8.0-2.el8.noarch 73/180 DEBUG util.py:445: Installing : python3-pyasn1-0.4.6-3.el8.noarch 74/180 DEBUG util.py:445: Installing : python3-pysnmp-4.4.12-1.el8.noarch 75/180 DEBUG util.py:445: Installing : python3-psutil-5.7.3-1.el8.x86_64 76/180 DEBUG util.py:445: Installing : python3-munch-2.5.0-3.el8.noarch 77/180 DEBUG util.py:445: Installing : python3-memcached-1.59-1.el8.noarch 78/180 DEBUG util.py:445: Installing : python3-logutils-0.3.5-11.el8.noarch 79/180 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-1.el8.noarch 80/180 DEBUG util.py:445: Installing : python3-zake-0.2.2-18.el8.noarch 81/180 DEBUG util.py:445: Installing : python3-jeepney-0.4.3-1.el8.noarch 82/180 DEBUG util.py:445: Installing : python3-secretstorage-3.1.1-4.el8.noarch 83/180 DEBUG util.py:445: Installing : python3-keyring-21.0.0-1.el8.noarch 84/180 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-2.el8.noarch 85/180 DEBUG util.py:445: Installing : python3-zeroconf-0.24.4-1.el8.noarch 86/180 DEBUG util.py:445: Installing : python3-future-0.18.2-3.el8.noarch 87/180 DEBUG util.py:445: Installing : python3-defusedxml-0.7.1-1.el8.noarch 88/180 DEBUG util.py:445: Installing : python3-cssselect-0.9.2-13.el8.noarch 89/180 DEBUG util.py:445: Installing : python3-colorama-0.4.3-3.el8.noarch 90/180 DEBUG util.py:445: Installing : python3-cmd2-1.4.0-1.1.el8.noarch 91/180 DEBUG util.py:445: Installing : python3-cachetools-4.2.0-1.el8.noarch 92/180 DEBUG util.py:445: Installing : python3-autopage-0.4.0-1.el8.noarch 93/180 DEBUG util.py:445: Installing : python3-appdirs-1.4.3-12.el8.noarch 94/180 DEBUG util.py:445: Installing : libsodium-1.0.18-2.el8.x86_64 95/180 DEBUG util.py:445: Installing : python3-pynacl-1.4.0-1.el8.x86_64 96/180 DEBUG util.py:445: Installing : python3-webencodings-0.5.1-6.el8.noarch 97/180 DEBUG util.py:445: Installing : python3-html5lib-1:0.999999999-6.el8.noarch 98/180 DEBUG util.py:445: Installing : python3-beautifulsoup4-4.9.3-1.el8.noarch 99/180 DEBUG util.py:445: Installing : python3-lxml-4.2.3-4.el8.x86_64 100/180 DEBUG util.py:445: Installing : python3-webtest-2.0.35-3.el8.noarch 101/180 DEBUG util.py:445: Installing : python3-jsonpointer-1.10-11.el8.noarch 102/180 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-2.el8.noarch 103/180 DEBUG util.py:445: Installing : python3-warlock-1.3.3-1.el8.noarch 104/180 DEBUG util.py:445: Installing : python3-jmespath-0.9.0-11.el8.noarch 105/180 DEBUG util.py:445: Installing : libpq-13.5-1.el8.x86_64 106/180 DEBUG util.py:445: Installing : python3-psycopg2-2.7.5-7.el8.x86_64 107/180 DEBUG util.py:445: Installing : cmake-filesystem-3.26.5-2.el8.x86_64 108/180 DEBUG util.py:445: Installing : xz-devel-5.2.4-4.el8.x86_64 109/180 DEBUG util.py:445: Installing : libxml2-devel-2.9.7-18.el8.x86_64 110/180 DEBUG util.py:445: Installing : python3-inotify-0.9.6-13.el8.noarch 111/180 DEBUG util.py:445: Installing : pcre2-utf32-10.32-3.el8.x86_64 112/180 DEBUG util.py:445: Installing : pcre2-utf16-10.32-3.el8.x86_64 113/180 DEBUG util.py:445: Installing : pcre2-devel-10.32-3.el8.x86_64 114/180 DEBUG util.py:445: Installing : libyaml-0.1.7-5.el8.x86_64 115/180 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-2.el8.x86_64 116/180 DEBUG util.py:445: Installing : python3-cliff-3.10.1-0.20220314185955.a04a48f.el 117/180 DEBUG util.py:445: Installing : libverto-devel-0.3.2-2.el8.x86_64 118/180 DEBUG util.py:445: Installing : libsepol-devel-2.9-3.el8.x86_64 119/180 DEBUG util.py:445: Installing : libselinux-devel-2.9-8.el8.x86_64 120/180 DEBUG util.py:445: Installing : libkadm5-1.18.2-26.el8.x86_64 121/180 DEBUG util.py:445: Installing : libcom_err-devel-1.45.6-5.el8.x86_64 122/180 DEBUG util.py:445: Installing : keyutils-libs-devel-1.5.10-9.el8.x86_64 123/180 DEBUG util.py:445: Installing : krb5-devel-1.18.2-26.el8.x86_64 124/180 DEBUG util.py:445: Installing : gmp-c++-1:6.1.2-12.el8.x86_64 125/180 DEBUG util.py:445: Running scriptlet: gmp-c++-1:6.1.2-12.el8.x86_64 125/180 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2022030712392 126/180 DEBUG util.py:445: Installing : python3-openstacksdk-0.62.0-0.20230411165545.4ce 127/180 DEBUG util.py:445: Installing : python3-os-client-config-2.1.0-0.20220307201837. 128/180 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20220311163944.4179 129/180 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-2.6.0-0.202203 130/180 DEBUG util.py:445: Installing : python-oslo-utils-lang-4.12.4-0.20240126084419.9 131/180 DEBUG util.py:445: Installing : python-oslo-policy-lang-3.11.0-0.20220314171849. 132/180 DEBUG util.py:445: Installing : python-oslo-middleware-lang-4.5.1-0.202203141609 133/180 DEBUG util.py:445: Installing : python-oslo-log-lang-4.7.0-0.20220324144856.de03 134/180 DEBUG util.py:445: Installing : python-oslo-i18n-lang-5.1.0-0.20220307124733.b03 135/180 DEBUG util.py:445: Installing : python3-oslo-i18n-5.1.0-0.20220307124733.b031d17 136/180 DEBUG util.py:445: Installing : python3-oslo-utils-4.12.4-0.20240126084419.92d0c 137/180 DEBUG util.py:445: Installing : python3-oslo-config-2:8.8.1-0.20231115112140.966 138/180 DEBUG util.py:445: Installing : python3-oslo-serialization-4.3.0-0.2022031115140 139/180 DEBUG util.py:445: Installing : python3-oslo-log-4.7.0-0.20220324144856.de03a59. 140/180 DEBUG util.py:445: Installing : python3-keystoneclient-1:4.4.0-0.20220314190516. 141/180 DEBUG util.py:445: Installing : python3-oslo-metrics-0.4.0-0.20220314171631.b4eb 142/180 DEBUG util.py:445: Installing : python3-oslo-policy-3.11.0-0.20220314171849.b48b 143/180 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20220311163944.4179996.el 144/180 DEBUG util.py:445: Installing : python3-oslo-middleware-4.5.1-0.20220314160906.2 145/180 DEBUG util.py:445: Installing : python3-osc-lib-2.5.0-0.20220315075903.78d276e.e 146/180 DEBUG util.py:445: Installing : python-oslo-db-lang-11.2.0-0.20220314165526.22c6 147/180 DEBUG util.py:445: Installing : python3-oslo-db-11.2.0-0.20220314165526.22c602f. 148/180 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-4.5.0-0.20220311165 149/180 DEBUG util.py:445: Installing : python3-oslo-concurrency-4.5.0-0.20220311165052. 150/180 DEBUG util.py:445: Installing : python3-oslo-service-2.8.0-0.20220314165315.6552 151/180 DEBUG util.py:445: Installing : python3-oslo-messaging-12.13.3-0.20231124143847. 152/180 DEBUG util.py:445: Installing : python-oslo-cache-lang-2.10.1-0.20220314140354.d 153/180 DEBUG util.py:445: Installing : python3-oslo-cache-2.10.1-0.20220314140354.d7502 154/180 DEBUG util.py:445: Installing : python3-keystonemiddleware-9.4.0-0.2024020106483 155/180 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-2.6.0-0.2022031418 156/180 DEBUG util.py:445: Installing : python3-osprofiler-3.4.2-0.20220307232434.e475de 157/180 DEBUG util.py:445: Installing : python3-ironic-lib-5.2.0-0.20220316145422.e20581 158/180 DEBUG util.py:445: Installing : python3-proliantutils-2.12.2-0.20220316122454.50 159/180 DEBUG util.py:445: Installing : python3-oslo-db-tests-11.2.0-0.20220314165526.22 160/180 DEBUG util.py:445: Installing : python3-neutronclient-7.8.0-0.20220315090519.6ca 161/180 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-1.5.0-0.20220314174419 162/180 DEBUG util.py:445: Installing : python3-swiftclient-3.13.1-0.20220314193840.4989 163/180 DEBUG util.py:445: Installing : python3-scciclient-0.12.3-0.20220729095350.0940a 164/180 DEBUG util.py:445: Installing : python3-oslo-reports-2.3.0-0.20220311164623.f279 165/180 DEBUG util.py:445: Installing : python3-tooz-2.10.1-0.20220314164958.e88e601.el8 166/180 DEBUG util.py:445: Installing : python3-cinderclient-8.3.0-0.20220314194227.ee59 167/180 DEBUG util.py:445: Installing : python3-glanceclient-1:3.6.0-0.20220314183717.62 168/180 DEBUG util.py:445: Installing : gmp-devel-1:6.1.2-12.el8.x86_64 169/180 DEBUG util.py:445: Running scriptlet: gmp-devel-1:6.1.2-12.el8.x86_64 169/180 DEBUG util.py:445: Installing : openssl-devel-1:1.1.1k-12.el8.x86_64 170/180 DEBUG util.py:445: Installing : python3-stestr-3.2.0-3.el8.noarch 171/180 DEBUG util.py:445: Installing : python3-ddt-1.2.1-4.el8.noarch 172/180 DEBUG util.py:445: Installing : libxslt-devel-1.1.32-6.el8.x86_64 173/180 DEBUG util.py:445: Installing : python3-pecan-1.3.3-2.el8.noarch 174/180 DEBUG util.py:445: Installing : python3-dracclient-8.0.1-0.20220413232915.eee503 175/180 DEBUG util.py:445: Installing : python3-automaton-2.5.0-0.20220314171459.aaca110 176/180 DEBUG util.py:445: Installing : python3-pycdlib-1.11.0-3.el8.noarch 177/180 DEBUG util.py:445: Installing : python3-mock-3.0.5-7.el8.noarch 178/180 DEBUG util.py:445: Installing : python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1 179/180 DEBUG util.py:445: Installing : python3-os-traits-2.7.0-0.20220314182947.3d1dbf0 180/180 DEBUG util.py:445: Running scriptlet: python3-os-traits-2.7.0-0.20220314182947.3d1dbf0 180/180 DEBUG util.py:445: Verifying : python3-dracclient-8.0.1-0.20220413232915.eee503 1/180 DEBUG util.py:445: Verifying : python3-ironic-lib-5.2.0-0.20220316145422.e20581 2/180 DEBUG util.py:445: Verifying : python3-proliantutils-2.12.2-0.20220316122454.50 3/180 DEBUG util.py:445: Verifying : python3-scciclient-0.12.3-0.20220729095350.0940a 4/180 DEBUG util.py:445: Verifying : python3-sushy-4.1.7-0.20240202135909.fdbcb17.el8 5/180 DEBUG util.py:445: Verifying : python3-cinderclient-8.3.0-0.20220314194227.ee59 6/180 DEBUG util.py:445: Verifying : python3-glanceclient-1:3.6.0-0.20220314183717.62 7/180 DEBUG util.py:445: Verifying : python3-keystoneclient-1:4.4.0-0.20220314190516. 8/180 DEBUG util.py:445: Verifying : python3-neutronclient-7.8.0-0.20220315090519.6ca 9/180 DEBUG util.py:445: Verifying : python3-openstacksdk-0.62.0-0.20230411165545.4ce 10/180 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20220307143627. 11/180 DEBUG util.py:445: Verifying : python3-osc-lib-2.5.0-0.20220315075903.78d276e.e 12/180 DEBUG util.py:445: Verifying : python3-oslotest-4.5.0-0.20220310171510.d4b1896. 13/180 DEBUG util.py:445: Verifying : python3-stevedore-3.5.2-0.20221024072403.6c9978a 14/180 DEBUG util.py:445: Verifying : python3-swiftclient-3.13.1-0.20220314193840.4989 15/180 DEBUG util.py:445: Verifying : python-oslo-cache-lang-2.10.1-0.20220314140354.d 16/180 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-4.5.0-0.20220311165 17/180 DEBUG util.py:445: Verifying : python-oslo-db-lang-11.2.0-0.20220314165526.22c6 18/180 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-5.1.0-0.20220307124733.b03 19/180 DEBUG util.py:445: Verifying : python-oslo-log-lang-4.7.0-0.20220324144856.de03 20/180 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-4.5.1-0.202203141609 21/180 DEBUG util.py:445: Verifying : python-oslo-policy-lang-3.11.0-0.20220314171849. 22/180 DEBUG util.py:445: Verifying : python-oslo-utils-lang-4.12.4-0.20240126084419.9 23/180 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-2.6.0-0.202203 24/180 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20220311163944.4179 25/180 DEBUG util.py:445: Verifying : python3-automaton-2.5.0-0.20220314171459.aaca110 26/180 DEBUG util.py:445: Verifying : python3-cliff-3.10.1-0.20220314185955.a04a48f.el 27/180 DEBUG util.py:445: Verifying : python3-debtcollector-2.5.0-0.20220317120440.a6b 28/180 DEBUG util.py:445: Verifying : python3-futurist-2.4.0-0.20220311160357.d70c7e5. 29/180 DEBUG util.py:445: Verifying : python3-os-traits-2.7.0-0.20220314182947.3d1dbf0 30/180 DEBUG util.py:445: Verifying : python3-oslo-cache-2.10.1-0.20220314140354.d7502 31/180 DEBUG util.py:445: Verifying : python3-oslo-concurrency-4.5.0-0.20220311165052. 32/180 DEBUG util.py:445: Verifying : python3-oslo-config-2:8.8.1-0.20231115112140.966 33/180 DEBUG util.py:445: Verifying : python3-oslo-context-4.1.0-0.20220314115038.3400 34/180 DEBUG util.py:445: Verifying : python3-oslo-db-11.2.0-0.20220314165526.22c602f. 35/180 DEBUG util.py:445: Verifying : python3-oslo-db-tests-11.2.0-0.20220314165526.22 36/180 DEBUG util.py:445: Verifying : python3-oslo-i18n-5.1.0-0.20220307124733.b031d17 37/180 DEBUG util.py:445: Verifying : python3-oslo-log-4.7.0-0.20220324144856.de03a59. 38/180 DEBUG util.py:445: Verifying : python3-oslo-messaging-12.13.3-0.20231124143847. 39/180 DEBUG util.py:445: Verifying : python3-oslo-metrics-0.4.0-0.20220314171631.b4eb 40/180 DEBUG util.py:445: Verifying : python3-oslo-middleware-4.5.1-0.20220314160906.2 41/180 DEBUG util.py:445: Verifying : python3-oslo-policy-3.11.0-0.20220314171849.b48b 42/180 DEBUG util.py:445: Verifying : python3-oslo-reports-2.3.0-0.20220311164623.f279 43/180 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1 44/180 DEBUG util.py:445: Verifying : python3-oslo-serialization-4.3.0-0.2022031115140 45/180 DEBUG util.py:445: Verifying : python3-oslo-service-2.8.0-0.20220314165315.6552 46/180 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-1.5.0-0.20220314174419 47/180 DEBUG util.py:445: Verifying : python3-oslo-utils-4.12.4-0.20240126084419.92d0c 48/180 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-2.6.0-0.2022031418 49/180 DEBUG util.py:445: Verifying : python3-osprofiler-3.4.2-0.20220307232434.e475de 50/180 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20220311163944.4179996.el 51/180 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2022030712392 52/180 DEBUG util.py:445: Verifying : python3-tooz-2.10.1-0.20220314164958.e88e601.el8 53/180 DEBUG util.py:445: Verifying : python3-keystoneauth1-4.5.0-0.20240201061910.8da 54/180 DEBUG util.py:445: Verifying : python3-keystonemiddleware-9.4.0-0.2024020106483 55/180 DEBUG util.py:445: Verifying : python3-os-client-config-2.1.0-0.20220307201837. 56/180 DEBUG util.py:445: Verifying : gmp-c++-1:6.1.2-12.el8.x86_64 57/180 DEBUG util.py:445: Verifying : gmp-devel-1:6.1.2-12.el8.x86_64 58/180 DEBUG util.py:445: Verifying : keyutils-libs-devel-1.5.10-9.el8.x86_64 59/180 DEBUG util.py:445: Verifying : krb5-devel-1.18.2-26.el8.x86_64 60/180 DEBUG util.py:445: Verifying : libcom_err-devel-1.45.6-5.el8.x86_64 61/180 DEBUG util.py:445: Verifying : libgcrypt-devel-1.8.5-7.el8.x86_64 62/180 DEBUG util.py:445: Verifying : libgpg-error-devel-1.31-1.el8.x86_64 63/180 DEBUG util.py:445: Verifying : libkadm5-1.18.2-26.el8.x86_64 64/180 DEBUG util.py:445: Verifying : libselinux-devel-2.9-8.el8.x86_64 65/180 DEBUG util.py:445: Verifying : libsepol-devel-2.9-3.el8.x86_64 66/180 DEBUG util.py:445: Verifying : libverto-devel-0.3.2-2.el8.x86_64 67/180 DEBUG util.py:445: Verifying : libxslt-1.1.32-6.el8.x86_64 68/180 DEBUG util.py:445: Verifying : libyaml-0.1.7-5.el8.x86_64 69/180 DEBUG util.py:445: Verifying : openssl-devel-1:1.1.1k-12.el8.x86_64 70/180 DEBUG util.py:445: Verifying : pcre2-devel-10.32-3.el8.x86_64 71/180 DEBUG util.py:445: Verifying : pcre2-utf16-10.32-3.el8.x86_64 72/180 DEBUG util.py:445: Verifying : pcre2-utf32-10.32-3.el8.x86_64 73/180 DEBUG util.py:445: Verifying : python3-cryptography-3.2.1-7.el8.x86_64 74/180 DEBUG util.py:445: Verifying : python3-dateutil-1:2.6.1-6.el8.noarch 75/180 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-13.el8.noarch 76/180 DEBUG util.py:445: Verifying : python3-ply-3.9-9.el8.noarch 77/180 DEBUG util.py:445: Verifying : python3-pycparser-2.14-14.el8.noarch 78/180 DEBUG util.py:445: Verifying : xz-devel-5.2.4-4.el8.x86_64 79/180 DEBUG util.py:445: Verifying : zlib-devel-1.2.11-25.el8.x86_64 80/180 DEBUG util.py:445: Verifying : cmake-filesystem-3.26.5-2.el8.x86_64 81/180 DEBUG util.py:445: Verifying : libpq-13.5-1.el8.x86_64 82/180 DEBUG util.py:445: Verifying : libxml2-devel-2.9.7-18.el8.x86_64 83/180 DEBUG util.py:445: Verifying : libxslt-devel-1.1.32-6.el8.x86_64 84/180 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591 85/180 DEBUG util.py:445: Verifying : python3-attrs-17.4.0-6.el8.noarch 86/180 DEBUG util.py:445: Verifying : python3-html5lib-1:0.999999999-6.el8.noarch 87/180 DEBUG util.py:445: Verifying : python3-jmespath-0.9.0-11.el8.noarch 88/180 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-2.el8.noarch 89/180 DEBUG util.py:445: Verifying : python3-jsonpointer-1.10-11.el8.noarch 90/180 DEBUG util.py:445: Verifying : python3-lxml-4.2.3-4.el8.x86_64 91/180 DEBUG util.py:445: Verifying : python3-mako-1.0.6-14.el8.noarch 92/180 DEBUG util.py:445: Verifying : python3-netaddr-0.7.19-8.el8.noarch 93/180 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-4.el8.x86_64 94/180 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-14.el8.noarch 95/180 DEBUG util.py:445: Verifying : python3-psycopg2-2.7.5-7.el8.x86_64 96/180 DEBUG util.py:445: Verifying : python3-pyOpenSSL-19.0.0-1.el8.noarch 97/180 DEBUG util.py:445: Verifying : python3-pyghmi-1.5.29-1.el8.noarch 98/180 DEBUG util.py:445: Verifying : python3-webencodings-0.5.1-6.el8.noarch 99/180 DEBUG util.py:445: Verifying : libsodium-1.0.18-2.el8.x86_64 100/180 DEBUG util.py:445: Verifying : python3-alembic-1.7.1-3.el8.noarch 101/180 DEBUG util.py:445: Verifying : python3-amqp-5.0.9-1.el8.noarch 102/180 DEBUG util.py:445: Verifying : python3-appdirs-1.4.3-12.el8.noarch 103/180 DEBUG util.py:445: Verifying : python3-autopage-0.4.0-1.el8.noarch 104/180 DEBUG util.py:445: Verifying : python3-bcrypt-3.1.7-3.el8.x86_64 105/180 DEBUG util.py:445: Verifying : python3-beautifulsoup4-4.9.3-1.el8.noarch 106/180 DEBUG util.py:445: Verifying : python3-cachetools-4.2.0-1.el8.noarch 107/180 DEBUG util.py:445: Verifying : python3-cffi-1.13.2-1.el8.x86_64 108/180 DEBUG util.py:445: Verifying : python3-cmd2-1.4.0-1.1.el8.noarch 109/180 DEBUG util.py:445: Verifying : python3-colorama-0.4.3-3.el8.noarch 110/180 DEBUG util.py:445: Verifying : python3-cssselect-0.9.2-13.el8.noarch 111/180 DEBUG util.py:445: Verifying : python3-ddt-1.2.1-4.el8.noarch 112/180 DEBUG util.py:445: Verifying : python3-decorator-4.4.0-5.el8.noarch 113/180 DEBUG util.py:445: Verifying : python3-defusedxml-0.7.1-1.el8.noarch 114/180 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.1.5-1.1.el8.noarch 115/180 DEBUG util.py:445: Verifying : python3-etcd3gw-0.2.5-1.el8.noarch 116/180 DEBUG util.py:445: Verifying : python3-extras-1.0.0-10.el8.noarch 117/180 DEBUG util.py:445: Verifying : python3-fasteners-0.14.1-20.el8.noarch 118/180 DEBUG util.py:445: Verifying : python3-fixtures-3.0.0-27.el8.noarch 119/180 DEBUG util.py:445: Verifying : python3-future-0.18.2-3.el8.noarch 120/180 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-2.el8.noarch 121/180 DEBUG util.py:445: Verifying : python3-importlib-metadata-1.7.0-1.el8.noarch 122/180 DEBUG util.py:445: Verifying : python3-importlib-resources-4.1.1-1.el8.noarch 123/180 DEBUG util.py:445: Verifying : python3-iso8601-0.1.12-3.el8.noarch 124/180 DEBUG util.py:445: Verifying : python3-jeepney-0.4.3-1.el8.noarch 125/180 DEBUG util.py:445: Verifying : python3-jsonschema-3.2.0-5.el8.noarch 126/180 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-1.el8.noarch 127/180 DEBUG util.py:445: Verifying : python3-keyring-21.0.0-1.el8.noarch 128/180 DEBUG util.py:445: Verifying : python3-kombu-1:5.0.2-1.el8.noarch 129/180 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-11.el8.noarch 130/180 DEBUG util.py:445: Verifying : python3-memcached-1.59-1.el8.noarch 131/180 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-1.el8.noarch 132/180 DEBUG util.py:445: Verifying : python3-mock-3.0.5-7.el8.noarch 133/180 DEBUG util.py:445: Verifying : python3-msgpack-1.0.3-2.el8.x86_64 134/180 DEBUG util.py:445: Verifying : python3-munch-2.5.0-3.el8.noarch 135/180 DEBUG util.py:445: Verifying : python3-paste-3.5.0-1.el8.noarch 136/180 DEBUG util.py:445: Verifying : python3-paste-deploy-2.1.1-1.el8.noarch 137/180 DEBUG util.py:445: Verifying : python3-pecan-1.3.3-2.el8.noarch 138/180 DEBUG util.py:445: Verifying : python3-prometheus_client-0.7.1-2.el8.noarch 139/180 DEBUG util.py:445: Verifying : python3-psutil-5.7.3-1.el8.x86_64 140/180 DEBUG util.py:445: Verifying : python3-pyasn1-0.4.6-3.el8.noarch 141/180 DEBUG util.py:445: Verifying : python3-pycdlib-1.11.0-3.el8.noarch 142/180 DEBUG util.py:445: Verifying : python3-pynacl-1.4.0-1.el8.x86_64 143/180 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-4.el8.noarch 144/180 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.0-2.el8.noarch 145/180 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-1.el8.x86_64 146/180 DEBUG util.py:445: Verifying : python3-pysnmp-4.4.12-1.el8.noarch 147/180 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-2.el8.x86_64 148/180 DEBUG util.py:445: Verifying : python3-redis-3.5.3-1.el8.noarch 149/180 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-6.el8.noarch 150/180 DEBUG util.py:445: Verifying : python3-retrying-1.3.3-1.el8.noarch 151/180 DEBUG util.py:445: Verifying : python3-rfc3986-1.4.0-3.el8.noarch 152/180 DEBUG util.py:445: Verifying : python3-routes-2.4.1-12.el8.noarch 153/180 DEBUG util.py:445: Verifying : python3-secretstorage-3.1.1-4.el8.noarch 154/180 DEBUG util.py:445: Verifying : python3-simplejson-3.17.6-2.el8.x86_64 155/180 DEBUG util.py:445: Verifying : python3-smi-0.3.4-6.el8.noarch 156/180 DEBUG util.py:445: Verifying : python3-soupsieve-2.3.1-2.el8.noarch 157/180 DEBUG util.py:445: Verifying : python3-sqlparse-0.3.1-3.el8.noarch 158/180 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-16.el8.noarch 159/180 DEBUG util.py:445: Verifying : python3-stestr-3.2.0-3.el8.noarch 160/180 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-1.el8.noarch 161/180 DEBUG util.py:445: Verifying : python3-tempita-0.5.1-25.el8.noarch 162/180 DEBUG util.py:445: Verifying : python3-tenacity-6.3.1-1.el8.noarch 163/180 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-1.el8.noarch 164/180 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-17.el8.noarch 165/180 DEBUG util.py:445: Verifying : python3-testtools-2.5.0-3.el8.noarch 166/180 DEBUG util.py:445: Verifying : python3-vine-5.0.0-2.el8.noarch 167/180 DEBUG util.py:445: Verifying : python3-voluptuous-0.12.1-1.el8.noarch 168/180 DEBUG util.py:445: Verifying : python3-waitress-1.4.2-1.el8.noarch 169/180 DEBUG util.py:445: Verifying : python3-warlock-1.3.3-1.el8.noarch 170/180 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.5-2.el8.noarch 171/180 DEBUG util.py:445: Verifying : python3-webob-1.8.6-3.el8.noarch 172/180 DEBUG util.py:445: Verifying : python3-webtest-2.0.35-3.el8.noarch 173/180 DEBUG util.py:445: Verifying : python3-wrapt-1.13.3-2.el8.x86_64 174/180 DEBUG util.py:445: Verifying : python3-yappi-1.3.0-1.el8.x86_64 175/180 DEBUG util.py:445: Verifying : python3-zake-0.2.2-18.el8.noarch 176/180 DEBUG util.py:445: Verifying : python3-zeroconf-0.24.4-1.el8.noarch 177/180 DEBUG util.py:445: Verifying : python3-zipp-3.4.0-1.el8.noarch 178/180 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-3.el8s.x86_64 179/180 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-3.el8s.x86_64 180/180 DEBUG util.py:445: Installed: DEBUG util.py:445: cmake-filesystem-3.26.5-2.el8.x86_64 DEBUG util.py:445: gmp-c++-1:6.1.2-12.el8.x86_64 DEBUG util.py:445: gmp-devel-1:6.1.2-12.el8.x86_64 DEBUG util.py:445: keyutils-libs-devel-1.5.10-9.el8.x86_64 DEBUG util.py:445: krb5-devel-1.18.2-26.el8.x86_64 DEBUG util.py:445: libcom_err-devel-1.45.6-5.el8.x86_64 DEBUG util.py:445: libgcrypt-devel-1.8.5-7.el8.x86_64 DEBUG util.py:445: libgpg-error-devel-1.31-1.el8.x86_64 DEBUG util.py:445: libkadm5-1.18.2-26.el8.x86_64 DEBUG util.py:445: libpq-13.5-1.el8.x86_64 DEBUG util.py:445: libselinux-devel-2.9-8.el8.x86_64 DEBUG util.py:445: libsepol-devel-2.9-3.el8.x86_64 DEBUG util.py:445: libsodium-1.0.18-2.el8.x86_64 DEBUG util.py:445: libverto-devel-0.3.2-2.el8.x86_64 DEBUG util.py:445: libxml2-devel-2.9.7-18.el8.x86_64 DEBUG util.py:445: libxslt-1.1.32-6.el8.x86_64 DEBUG util.py:445: libxslt-devel-1.1.32-6.el8.x86_64 DEBUG util.py:445: libyaml-0.1.7-5.el8.x86_64 DEBUG util.py:445: openssl-devel-1:1.1.1k-12.el8.x86_64 DEBUG util.py:445: pcre2-devel-10.32-3.el8.x86_64 DEBUG util.py:445: pcre2-utf16-10.32-3.el8.x86_64 DEBUG util.py:445: pcre2-utf32-10.32-3.el8.x86_64 DEBUG util.py:445: python-oslo-cache-lang-2.10.1-0.20220314140354.d75020b.el8.noarch DEBUG util.py:445: python-oslo-concurrency-lang-4.5.0-0.20220311165052.a9ccf0a.el8.noarch DEBUG util.py:445: python-oslo-db-lang-11.2.0-0.20220314165526.22c602f.el8.noarch DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20220307124733.b031d17.el8.noarch DEBUG util.py:445: python-oslo-log-lang-4.7.0-0.20220324144856.de03a59.el8.noarch DEBUG util.py:445: python-oslo-middleware-lang-4.5.1-0.20220314160906.2f72b30.el8.noarch DEBUG util.py:445: python-oslo-policy-lang-3.11.0-0.20220314171849.b48b711.el8.noarch DEBUG util.py:445: python-oslo-utils-lang-4.12.4-0.20240126084419.92d0c17.el8.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-2.6.0-0.20220314182459.25d34d6.el8.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20220311163944.4179996.el8.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-alembic-1.7.1-3.el8.noarch DEBUG util.py:445: python3-amqp-5.0.9-1.el8.noarch DEBUG util.py:445: python3-appdirs-1.4.3-12.el8.noarch DEBUG util.py:445: python3-attrs-17.4.0-6.el8.noarch DEBUG util.py:445: python3-automaton-2.5.0-0.20220314171459.aaca110.el8.noarch DEBUG util.py:445: python3-autopage-0.4.0-1.el8.noarch DEBUG util.py:445: python3-bcrypt-3.1.7-3.el8.x86_64 DEBUG util.py:445: python3-beautifulsoup4-4.9.3-1.el8.noarch DEBUG util.py:445: python3-cachetools-4.2.0-1.el8.noarch DEBUG util.py:445: python3-cffi-1.13.2-1.el8.x86_64 DEBUG util.py:445: python3-cinderclient-8.3.0-0.20220314194227.ee59b68.el8.noarch DEBUG util.py:445: python3-cliff-3.10.1-0.20220314185955.a04a48f.el8.noarch DEBUG util.py:445: python3-cmd2-1.4.0-1.1.el8.noarch DEBUG util.py:445: python3-colorama-0.4.3-3.el8.noarch DEBUG util.py:445: python3-cryptography-3.2.1-7.el8.x86_64 DEBUG util.py:445: python3-cssselect-0.9.2-13.el8.noarch DEBUG util.py:445: python3-dateutil-1:2.6.1-6.el8.noarch DEBUG util.py:445: python3-ddt-1.2.1-4.el8.noarch DEBUG util.py:445: python3-debtcollector-2.5.0-0.20220317120440.a6b46c5.el8.noarch DEBUG util.py:445: python3-decorator-4.4.0-5.el8.noarch DEBUG util.py:445: python3-defusedxml-0.7.1-1.el8.noarch DEBUG util.py:445: python3-dogpile-cache-1.1.5-1.1.el8.noarch DEBUG util.py:445: python3-dracclient-8.0.1-0.20220413232915.eee5037.el8.noarch DEBUG util.py:445: python3-etcd3gw-0.2.5-1.el8.noarch DEBUG util.py:445: python3-extras-1.0.0-10.el8.noarch DEBUG util.py:445: python3-fasteners-0.14.1-20.el8.noarch DEBUG util.py:445: python3-fixtures-3.0.0-27.el8.noarch DEBUG util.py:445: python3-future-0.18.2-3.el8.noarch DEBUG util.py:445: python3-futurist-2.4.0-0.20220311160357.d70c7e5.el8.noarch DEBUG util.py:445: python3-glanceclient-1:3.6.0-0.20220314183717.626c500.el8.noarch DEBUG util.py:445: python3-html5lib-1:0.999999999-6.el8.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-2.el8.noarch DEBUG util.py:445: python3-importlib-metadata-1.7.0-1.el8.noarch DEBUG util.py:445: python3-importlib-resources-4.1.1-1.el8.noarch DEBUG util.py:445: python3-inotify-0.9.6-13.el8.noarch DEBUG util.py:445: python3-ironic-lib-5.2.0-0.20220316145422.e205816.el8.noarch DEBUG util.py:445: python3-iso8601-0.1.12-3.el8.noarch DEBUG util.py:445: python3-jeepney-0.4.3-1.el8.noarch DEBUG util.py:445: python3-jmespath-0.9.0-11.el8.noarch DEBUG util.py:445: python3-jsonpatch-1.21-2.el8.noarch DEBUG util.py:445: python3-jsonpointer-1.10-11.el8.noarch DEBUG util.py:445: python3-jsonschema-3.2.0-5.el8.noarch DEBUG util.py:445: python3-kazoo-2.8.0-1.el8.noarch DEBUG util.py:445: python3-keyring-21.0.0-1.el8.noarch DEBUG util.py:445: python3-keystoneauth1-4.5.0-0.20240201061910.8da0a63.el8.noarch DEBUG util.py:445: python3-keystoneclient-1:4.4.0-0.20220314190516.100253d.el8.noarch DEBUG util.py:445: python3-keystonemiddleware-9.4.0-0.20240201064833.8a05709.el8.noarch DEBUG util.py:445: python3-kombu-1:5.0.2-1.el8.noarch DEBUG util.py:445: python3-logutils-0.3.5-11.el8.noarch DEBUG util.py:445: python3-lxml-4.2.3-4.el8.x86_64 DEBUG util.py:445: python3-mako-1.0.6-14.el8.noarch DEBUG util.py:445: python3-memcached-1.59-1.el8.noarch DEBUG util.py:445: python3-migrate-0.13.0-1.el8.noarch DEBUG util.py:445: python3-mock-3.0.5-7.el8.noarch DEBUG util.py:445: python3-msgpack-1.0.3-2.el8.x86_64 DEBUG util.py:445: python3-munch-2.5.0-3.el8.noarch DEBUG util.py:445: python3-netaddr-0.7.19-8.el8.noarch DEBUG util.py:445: python3-netifaces-0.10.6-4.el8.x86_64 DEBUG util.py:445: python3-neutronclient-7.8.0-0.20220315090519.6ca3341.el8.noarch DEBUG util.py:445: python3-openstacksdk-0.62.0-0.20230411165545.4ceff8f.el8.noarch DEBUG util.py:445: python3-os-client-config-2.1.0-0.20220307201837.bc96c23.el8.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220307143627.0b2f473.el8.noarch DEBUG util.py:445: python3-os-traits-2.7.0-0.20220314182947.3d1dbf0.el8.noarch DEBUG util.py:445: python3-osc-lib-2.5.0-0.20220315075903.78d276e.el8.noarch DEBUG util.py:445: python3-oslo-cache-2.10.1-0.20220314140354.d75020b.el8.noarch DEBUG util.py:445: python3-oslo-concurrency-4.5.0-0.20220311165052.a9ccf0a.el8.noarch DEBUG util.py:445: python3-oslo-config-2:8.8.1-0.20231115112140.966c588.el8.noarch DEBUG util.py:445: python3-oslo-context-4.1.0-0.20220314115038.3400cc2.el8.noarch DEBUG util.py:445: python3-oslo-db-11.2.0-0.20220314165526.22c602f.el8.noarch DEBUG util.py:445: python3-oslo-db-tests-11.2.0-0.20220314165526.22c602f.el8.noarch DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20220307124733.b031d17.el8.noarch DEBUG util.py:445: python3-oslo-log-4.7.0-0.20220324144856.de03a59.el8.noarch DEBUG util.py:445: python3-oslo-messaging-12.13.3-0.20231124143847.047da4e.el8.noarch DEBUG util.py:445: python3-oslo-metrics-0.4.0-0.20220314171631.b4eb8c3.el8.noarch DEBUG util.py:445: python3-oslo-middleware-4.5.1-0.20220314160906.2f72b30.el8.noarch DEBUG util.py:445: python3-oslo-policy-3.11.0-0.20220314171849.b48b711.el8.noarch DEBUG util.py:445: python3-oslo-reports-2.3.0-0.20220311164623.f2799dc.el8.noarch DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1b960.el8.noarch DEBUG util.py:445: python3-oslo-serialization-4.3.0-0.20220311151409.6910f75.el8.noarch DEBUG util.py:445: python3-oslo-service-2.8.0-0.20220314165315.6552b9a.el8.noarch DEBUG util.py:445: python3-oslo-upgradecheck-1.5.0-0.20220314174419.1559e03.el8.noarch DEBUG util.py:445: python3-oslo-utils-4.12.4-0.20240126084419.92d0c17.el8.noarch DEBUG util.py:445: python3-oslo-versionedobjects-2.6.0-0.20220314182459.25d34d6.el8.noarch DEBUG util.py:445: python3-oslotest-4.5.0-0.20220310171510.d4b1896.el8.noarch DEBUG util.py:445: python3-osprofiler-3.4.2-0.20220307232434.e475de6.el8.noarch DEBUG util.py:445: python3-paste-3.5.0-1.el8.noarch DEBUG util.py:445: python3-paste-deploy-2.1.1-1.el8.noarch DEBUG util.py:445: python3-pecan-1.3.3-2.el8.noarch DEBUG util.py:445: python3-ply-3.9-9.el8.noarch DEBUG util.py:445: python3-prettytable-0.7.2-14.el8.noarch DEBUG util.py:445: python3-proliantutils-2.12.2-0.20220316122454.500f518.el8.noarch DEBUG util.py:445: python3-prometheus_client-0.7.1-2.el8.noarch DEBUG util.py:445: python3-psutil-5.7.3-1.el8.x86_64 DEBUG util.py:445: python3-psycopg2-2.7.5-7.el8.x86_64 DEBUG util.py:445: python3-pyOpenSSL-19.0.0-1.el8.noarch DEBUG util.py:445: python3-pyasn1-0.4.6-3.el8.noarch DEBUG util.py:445: python3-pycadf-3.1.1-0.20220311163944.4179996.el8.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-3.el8.noarch DEBUG util.py:445: python3-pycparser-2.14-14.el8.noarch DEBUG util.py:445: python3-pyghmi-1.5.29-1.el8.noarch DEBUG util.py:445: python3-pynacl-1.4.0-1.el8.x86_64 DEBUG util.py:445: python3-pyngus-2.3.0-4.el8.noarch DEBUG util.py:445: python3-pyperclip-1.8.0-2.el8.noarch DEBUG util.py:445: python3-pyrsistent-0.17.3-1.el8.x86_64 DEBUG util.py:445: python3-pysnmp-4.4.12-1.el8.noarch DEBUG util.py:445: python3-pyyaml-5.4.1-2.el8.x86_64 DEBUG util.py:445: python3-qpid-proton-0.35.0-3.el8s.x86_64 DEBUG util.py:445: python3-redis-3.5.3-1.el8.noarch DEBUG util.py:445: python3-repoze-lru-0.7-6.el8.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220307123924.d7ac0ff.el8.noarch DEBUG util.py:445: python3-retrying-1.3.3-1.el8.noarch DEBUG util.py:445: python3-rfc3986-1.4.0-3.el8.noarch DEBUG util.py:445: python3-routes-2.4.1-12.el8.noarch DEBUG util.py:445: python3-scciclient-0.12.3-0.20220729095350.0940a71.el8.noarch DEBUG util.py:445: python3-secretstorage-3.1.1-4.el8.noarch DEBUG util.py:445: python3-simplejson-3.17.6-2.el8.x86_64 DEBUG util.py:445: python3-smi-0.3.4-6.el8.noarch DEBUG util.py:445: python3-soupsieve-2.3.1-2.el8.noarch DEBUG util.py:445: python3-sqlparse-0.3.1-3.el8.noarch DEBUG util.py:445: python3-statsd-3.2.1-16.el8.noarch DEBUG util.py:445: python3-stestr-3.2.0-3.el8.noarch DEBUG util.py:445: python3-stevedore-3.5.2-0.20221024072403.6c9978a.el8.noarch DEBUG util.py:445: python3-subunit-1.4.0-1.el8.noarch DEBUG util.py:445: python3-sushy-4.1.7-0.20240202135909.fdbcb17.el8.noarch DEBUG util.py:445: python3-swiftclient-3.13.1-0.20220314193840.4989d94.el8.noarch DEBUG util.py:445: python3-tempita-0.5.1-25.el8.noarch DEBUG util.py:445: python3-tenacity-6.3.1-1.el8.noarch DEBUG util.py:445: python3-testresources-2.0.1-1.el8.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-17.el8.noarch DEBUG util.py:445: python3-testtools-2.5.0-3.el8.noarch DEBUG util.py:445: python3-tooz-2.10.1-0.20220314164958.e88e601.el8.noarch DEBUG util.py:445: python3-vine-5.0.0-2.el8.noarch DEBUG util.py:445: python3-voluptuous-0.12.1-1.el8.noarch DEBUG util.py:445: python3-waitress-1.4.2-1.el8.noarch DEBUG util.py:445: python3-warlock-1.3.3-1.el8.noarch DEBUG util.py:445: python3-wcwidth-0.2.5-2.el8.noarch DEBUG util.py:445: python3-webencodings-0.5.1-6.el8.noarch DEBUG util.py:445: python3-webob-1.8.6-3.el8.noarch DEBUG util.py:445: python3-webtest-2.0.35-3.el8.noarch DEBUG util.py:445: python3-wrapt-1.13.3-2.el8.x86_64 DEBUG util.py:445: python3-yappi-1.3.0-1.el8.x86_64 DEBUG util.py:445: python3-zake-0.2.2-18.el8.noarch DEBUG util.py:445: python3-zeroconf-0.24.4-1.el8.noarch DEBUG util.py:445: python3-zipp-3.4.0-1.el8.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-3.el8s.x86_64 DEBUG util.py:445: xz-devel-5.2.4-4.el8.x86_64 DEBUG util.py:445: zlib-devel-1.2.11-25.el8.x86_64 DEBUG util.py:445: Complete! DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'b77ab9a244aa4638baca91429169d631', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/bin/sh', '-c', "rpm -qa --root '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root' --qf '%{nevra} %{buildtime} %{size} %{pkgid} installed\\n'"] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: python3-oslo-metrics-0.4.0-0.20220314171631.b4eb8c3.el8.noarch 1647278315 35232 22c64df792dfae762a6fc8accb9fbc51 installed DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 1680298639 11910029 b90c0f483b4d3132761f31914aa8529a installed DEBUG util.py:445: fontpackages-filesystem-1.44-22.el8.noarch 1557581453 0 40b0272ca2fdd533a2d188077e86c1d2 installed DEBUG util.py:445: python3-osc-lib-2.5.0-0.20220315075903.78d276e.el8.noarch 1647331337 242030 73b7ef9a5fbdeec2bc8324a5a4355faf installed DEBUG util.py:445: glibc-devel-2.28-251.el8.x86_64 1705673995 240562 9704ef322860a3877f9b8b03a38543d3 installed DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch 1557787815 13746679 5904158c62f46bb518f6445e49044e60 installed DEBUG util.py:445: python3-oslo-concurrency-4.5.0-0.20220311165052.a9ccf0a.el8.noarch 1647017758 110134 e88654f48b9134e5b8dacf3519bea3ac installed DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 1696451726 49376 2fc2950386ea031e4b451877628191f9 installed DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch 1557787815 596942 6e60575dedf19a3ce375fc2166d1a146 installed DEBUG util.py:445: python3-oslo-cache-2.10.1-0.20220314140354.d75020b.el8.noarch 1647266809 163457 c40f06afe94401d7399486804900831a installed DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 1661957780 720346 1cae463ef0856a8005738e88bcb0ab08 installed DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch 1557810095 1131 d96b3587cf204ff53b4b377f1f61bcc1 installed DEBUG util.py:445: python3-ironic-lib-5.2.0-0.20220316145422.e205816.el8.noarch 1647442645 617241 ca1ddfc346e6d14a6eb135adc65e152a installed DEBUG util.py:445: tar-2:1.30-9.el8.x86_64 1676684501 2876653 2b5dc1cc4919b11169eb6d3f7d5cc573 installed DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch 1557806236 794 0293bcef8257b954e640b14fa1fbfac0 installed DEBUG util.py:445: python3-oslo-upgradecheck-1.5.0-0.20220314174419.1559e03.el8.noarch 1647280087 48305 1136be3eda1d06e6a4c10e3068c8158a installed DEBUG util.py:445: libtiff-4.0.9-31.el8.x86_64 1704893867 517769 563324a83e1f91434106c24ae3ab2a53 installed DEBUG util.py:445: python3-tooz-2.10.1-0.20220314164958.e88e601.el8.noarch 1647276769 436789 c3aad4e6e5140d9dbcc5468559c1e0cc installed DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch 1611212519 7342 9d71426f78a143cfc42a3c8a0e969fa9 installed DEBUG util.py:445: openssl-devel-1:1.1.1k-12.el8.x86_64 1701348971 3550297 723d985eb8e3cf270809112bcba37e95 installed DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 1592338347 181056 2af6927c71dcd7520bf9779b5e13d2f5 installed DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch 1631593927 26489 da424ed8dbfe39ac8f25eb609e365312 installed DEBUG util.py:445: python3-pecan-1.3.3-2.el8.noarch 1606209068 1408575 3c429ad587a48a606adde06182faad4c installed DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 1592338501 49570 90e90d2dda89ab86d5b0fcc0e4a6b9f3 installed DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 1592340337 70732 a7693d63f1f80dfe21554ad582a61481 installed DEBUG util.py:445: python3-mock-3.0.5-7.el8.noarch 1580362453 159487 8a6ee7f4176cc5df6f33f4cff28ad1eb installed DEBUG util.py:445: libXdamage-1.1.4-14.el8.x86_64 1557799752 30432 5a6d7d7ded7b105fd1e101c7cba314e9 installed DEBUG util.py:445: libkcapi-1.4.0-2.el8.x86_64 1701937677 94374 e000c643490e36c9c2d8fc4cf20937d3 installed DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 1557799684 35952 994c8bec984cc544058db44ccad111b2 installed DEBUG util.py:445: cpio-2.12-11.el8.x86_64 1632978482 967637 8588822b2d9e7adde96867cdab861ab1 installed DEBUG util.py:445: xorg-x11-font-utils-1:7.5-41.el8.x86_64 1621919854 370642 0b1427c2a647710ac4cee0210d3ace61 installed DEBUG util.py:445: libffi-3.1-24.el8.x86_64 1670317697 53836 8744668b557ade91e3fe8b1f33aa9c0d installed DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 1557800694 153388 1ff95fab40bb4954f1975ed036efc0ed installed DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 1692099122 588988 81e266e9746a142c3fe489aff4519284 installed DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch 1557812133 1460348 e6f22d6ea059da79d67e5a1905949c53 installed DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 1670505024 838263 13b139965f543676276cad7faf213352 installed DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch 1557812133 1429675 7c8915d94c2c51421ab11e2bd324f4a8 installed DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 1656337654 424218 328d0b80687b91e59ac85d3ba408fc8f installed DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch 1557812133 400088 0b8313e3b9335f0786c2adf4c8eedb6e installed DEBUG util.py:445: kpartx-0.8.4-41.el8.x86_64 1704482311 77403 514f74f6d5033897e6e3624017fc7c24 installed DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 1589850748 422939 023b63662de1358d5d69c353073c8134 installed DEBUG util.py:445: dbus-common-1:1.12.8-26.el8.noarch 1687176686 11044 c398e2fbd21b71477a1bde723fb19788 installed DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 1696414732 697399 a0f0a963b4178a81f9831c8fc1b19f2d installed DEBUG util.py:445: glibc-all-langpacks-2.28-251.el8.x86_64 1705673995 436464728 3eb545595cd71410313b7d763f319a62 installed DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 1580388743 8917343 cdf347dd516a971569a9020371400933 installed DEBUG util.py:445: libcap-2.48-5.el8.x86_64 1689167944 164893 e466418ca1ae1355515b04e43e32aebb installed DEBUG util.py:445: python3-sphinx-1:2.2.2-1.el8.noarch 1580225759 9155946 12b92d7b8e76c1a8f1bceba2fb1d2256 installed DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 1620256101 185892 9a730f6114e22545dc8befbe5a0978ca installed DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch 1656600867 161412 f0007eaef9d763624dbabcb5919b8013 installed DEBUG util.py:445: p11-kit-0.23.22-2.el8.x86_64 1701271653 1650594 f625c6699150e52dfe4ba259c5f65388 installed DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203412.ce6a105.el8.noarch 1676580028 49110 dd89ee4dcce69e6e7e2b6a82d3e4962a installed DEBUG util.py:445: popt-1.18-1.el8.x86_64 1611039801 126626 34faaf171aafe13b647873235a7d1c2f installed DEBUG util.py:445: setup-2.12.2-11.el8.noarch 1707915731 724747 6b25de7b241e5c7be9d436e6f217885f installed DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 1674052044 6121280 33a926fa283765ef4a89be7bbad7994d installed DEBUG util.py:445: libuuid-2.32.1-46.el8.x86_64 1707392132 35096 955496ba4ef1907ee3b64b32d2f22c49 installed DEBUG util.py:445: info-6.5-7.el8_5.x86_64 1644082311 386328 c4578156fb03a45839a22eb9f0244dd7 installed DEBUG util.py:445: pam-1.3.1-33.el8.x86_64 1707750819 2648136 e90161c387a619d82554010e208bc8f1 installed DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 1684348514 199975 e7bcb446b9cca2a16286bf82d234c38c installed DEBUG util.py:445: libsmartcols-2.32.1-46.el8.x86_64 1707392132 248442 02a15c610620c2effbcf55de28cac920 installed DEBUG util.py:445: glibc-gconv-extra-2.28-251.el8.x86_64 1705673995 6416078 f7cb60795676f669b92c524e3ebc7d6e installed DEBUG util.py:445: device-mapper-libs-8:1.02.181-14.el8.x86_64 1706918844 415671 1ed4a9aaabb524a0d1dee8ecf7acba87 installed DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 1673600760 204098 8b8295bdd096f565d2011cecd8c10021 installed DEBUG util.py:445: systemd-udev-239-81.el8.x86_64 1708935728 9351399 e491923ce72c4b981f0719061d1cb571 installed DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 1674052044 9896370 7e1477872e149f9d47fae742c72781b4 installed DEBUG util.py:445: cups-libs-1:2.2.6-57.el8.x86_64 1708957577 948044 a4ec8f6234f89be3e18fabd801aec678 installed DEBUG util.py:445: python3-iso8601-0.1.12-3.el8.noarch 1599467180 48733 28a483957eb5775c236c66ae7c2a1943 installed DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 1629847570 106853 54decc47ed132277a6f4cd42333ae80f installed DEBUG util.py:445: python3-extras-1.0.0-10.el8.noarch 1580031252 28356 bfb0035d78c73f2b10b6109b404b6d17 installed DEBUG util.py:445: glibc-2.28-251.el8.x86_64 1705673995 6876072 442a31c57a549159d9efe038049bd0c3 installed DEBUG util.py:445: python3-dateutil-1:2.6.1-6.el8.noarch 1557588521 596677 e1f1417da4b0cd49312a7874c640c923 installed DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 1653248421 61377 087334fbb3385c4bc50bb7f28805dc9e installed DEBUG util.py:445: python3-zipp-3.4.0-1.el8.noarch 1604507418 21812 74f88a1ac62d6581ecc79bdda35b69d0 installed DEBUG util.py:445: python3-dogpile-cache-1.1.5-1.1.el8.noarch 1646727834 423161 da67fdaee30c3d1cc042d9c1a5221356 installed DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 1656335846 1269718 2269a19fc635d6e16b3988880918544c installed DEBUG util.py:445: python3-voluptuous-0.12.1-1.el8.noarch 1610340498 293245 df370bc7caeec5f3003f44612ee69e5d installed DEBUG util.py:445: findutils-1:4.6.0-22.el8.x86_64 1694083863 1768956 85f0b9873b12ac79fae81418c50d5a57 installed DEBUG util.py:445: python3-tempita-0.5.1-25.el8.noarch 1580043369 115145 3e5df4ea59576667fa541ca84b86208f installed DEBUG util.py:445: gzip-1.9-13.el8.x86_64 1651007152 352946 988e0f4934a627cadddb6b13e8e54191 installed DEBUG util.py:445: python3-attrs-17.4.0-6.el8.noarch 1557807350 155889 1bf2183e2f19405ca886ea3c72c19f84 installed DEBUG util.py:445: p11-kit-trust-0.23.22-2.el8.x86_64 1701271653 483265 840aeef5a5f8c1a8258b81e8b4b50a5c installed DEBUG util.py:445: libgpg-error-devel-1.31-1.el8.x86_64 1557538013 200795 139964288d8e4c634dd609f40ef40fe3 installed DEBUG util.py:445: python3-cryptography-3.2.1-7.el8.x86_64 1702028419 2873655 2b33119b76789c68b6ef362001730016 installed DEBUG util.py:445: trousers-lib-0.3.15-2.el8.x86_64 1701008532 486525 0cddaad32e3fa6187de52499abd86671 installed DEBUG util.py:445: python3-paste-deploy-2.1.1-1.el8.noarch 1606819865 107217 c3a68a6a50d59cf7d57efafa301f35f2 installed DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 1626361600 572273 cc09093997998b6a7fe5d42c13d2a331 installed DEBUG util.py:445: python3-kombu-1:5.0.2-1.el8.noarch 1610001917 1312489 b4a53fef82810cd3a2f7c88078a2f23f installed DEBUG util.py:445: python3-oslotest-4.5.0-0.20220310171510.d4b1896.el8.noarch 1646932761 122824 6122e7f915f540cbcd4ef4d100ace324 installed DEBUG util.py:445: platform-python-3.6.8-59.el8.x86_64 1704453784 41214 17fd722e027c9c1a8306baf6f4b6174d installed DEBUG util.py:445: qpid-proton-c-0.35.0-3.el8s.x86_64 1642501376 759570 025d8c01085f93531bebe1fb3605b58a installed DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 1573236536 1612648 8967e0fd86f922ac3fe079bb64ec85c4 installed DEBUG util.py:445: python3-wcwidth-0.2.5-2.el8.noarch 1599579893 552266 a3f54468628032600541c12ddf200bc6 installed DEBUG util.py:445: shared-mime-info-1.9-4.el8.x86_64 1702033957 2445185 371a673465c930fd70cd957291518b02 installed DEBUG util.py:445: python3-sqlparse-0.3.1-3.el8.noarch 1599567427 269967 0a33347d561700f749f44b5651e95f3d installed DEBUG util.py:445: dbus-1:1.12.8-26.el8.x86_64 1687176654 0 9de97df55e6b31f023f0df7e8607a75f installed DEBUG util.py:445: python3-retrying-1.3.3-1.el8.noarch 1606208641 43199 0fe0bea3183ebef61f6106ba7cb6fc45 installed DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch 1557812133 38217 b9c0233504dbc87da36397e6a3d37efc installed DEBUG util.py:445: python3-pyrsistent-0.17.3-1.el8.x86_64 1605885889 396633 d3f2200725975441c9b5cf7b195cd3eb installed DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.el8.x86_64 1573236241 2657576 3006826ddf4e875c1f21a9da6579bd20 installed DEBUG util.py:445: python3-pysnmp-4.4.12-1.el8.noarch 1579751392 2976667 73a5c315003161cbe80ae3b82466bea7 installed DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch 1599485653 106402 57ee0a6395cfc07e0bcf4bb069a38bb4 installed DEBUG util.py:445: python3-logutils-0.3.5-11.el8.noarch 1579773083 129309 b4640e209c61deb4380f7e72f7b4d5af installed DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 1557788256 1294970 d03abb8e862140158230d990e67ed0da installed DEBUG util.py:445: python3-secretstorage-3.1.1-4.el8.noarch 1580361026 90295 0569bd1de49dddc74d8f627e10283ef9 installed DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 1611126127 552614 714a852737f1dc94e6d0d0781ecc95f0 installed DEBUG util.py:445: python3-future-0.18.2-3.el8.noarch 1580101451 3346137 bb5545cfb3fe086a8c689921420a541f installed DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 1557795901 399313 23d5f2bf5897a440de253fe694e0f57f installed DEBUG util.py:445: python3-cmd2-1.4.0-1.1.el8.noarch 1610603874 1248496 c991ce87a548e60e2149e95d53bc6826 installed DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 1661411318 60398 a45a83b395cb68037d67081b296029c4 installed DEBUG util.py:445: libsodium-1.0.18-2.el8.x86_64 1579689043 612303 9addf380043a006db57c46745d21b16f installed DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch 1605562930 39223 a3b1b70e34d0e5bc276f89fe7bb6e7ea installed DEBUG util.py:445: python3-beautifulsoup4-4.9.3-1.el8.noarch 1605883264 1021765 c6c091bb0327a60c3f9614fcda930a4d installed DEBUG util.py:445: python3-dns-1.15.0-11.el8.noarch 1650992871 1028268 68e504127c89f5a7f1dd4b0d00f252bc installed DEBUG util.py:445: python3-jsonpatch-1.21-2.el8.noarch 1557876014 56526 90dbdae786ad7d81c0d2c42cf307d399 installed DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 1586217715 46291 1a5e11b6e41ab3f8a6ba8b67f87c788d installed DEBUG util.py:445: python3-psycopg2-2.7.5-7.el8.x86_64 1557808008 557696 6e589ea3762db7e118fb5b551d7621ff installed DEBUG util.py:445: python3-jinja2-2.10.1-4.el8.noarch 1706865516 2612629 c9aa11b2cfc6e0664f0bd1471ec2ad60 installed DEBUG util.py:445: python3-inotify-0.9.6-13.el8.noarch 1557588626 248598 238d02e2234d77dd821d5ad082255a9c installed DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch 1595581848 226606 6f20a53089845f7e03e43811ab4594da installed DEBUG util.py:445: libyaml-0.1.7-5.el8.x86_64 1557586361 136478 7c8bef326f7edfab7928fbaaeee8c652 installed DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch 1580212430 48240 c37be18dff58225e5a9ec3235f6c2ff3 installed DEBUG util.py:445: libsepol-devel-2.9-3.el8.x86_64 1629847198 129692 e712b0db004feb93c7fc2b29008675fb installed DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch 1580221798 56043 9172de1086c98a9044663bfc8fd16532 installed DEBUG util.py:445: keyutils-libs-devel-1.5.10-9.el8.x86_64 1624079346 33454 8e87ab023f520314de7c49a75f5298d9 installed DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 1614063802 137649 8f714224897bee9766d89cab949e4a1b installed DEBUG util.py:445: python3-openstacksdk-0.62.0-0.20230411165545.4ceff8f.el8.noarch 1681232833 4386672 e13c30dd4c9a378d0067f902ce761e65 installed DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 1557795443 3270833 7e07c5719518014f7be119290bd3c713 installed DEBUG util.py:445: python-oslo-utils-lang-4.12.4-0.20240126084419.92d0c17.el8.noarch 1706258772 15675 dce73df20352d4a4a4c0f5a45ded1ef4 installed DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 1600319865 1768962 53344c4e4a7ec37b337e62c5ab18a928 installed DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20220307124733.b031d17.el8.noarch 1646657383 16179 b32a12480fcfa0303ca4f209a2b824b1 installed DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 1557796230 76822 6f1ef12f2494056f5cbafb60b23d483c installed DEBUG util.py:445: python3-oslo-serialization-4.3.0-0.20220311151409.6910f75.el8.noarch 1647011852 75281 3ca6f2af793ae242f3b656a1d7c708bb installed DEBUG util.py:445: openssh-clients-8.0p1-24.el8.x86_64 1707222287 2569683 b30a136c89be965ce2b6f63402754018 installed DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 1556896537 0 (none) installed DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 1557797925 108543 68edc160e21686087d8486cdf060073e installed DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch 1680539618 6093 d65adfac12f7687a1f4ab507f6f3f3ce installed DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 1557540110 68093 c1d476e8247ae535374ebffccfb2ca5c installed DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch 1557792636 6229278 ae5337d5ef62351fcad39143150dd6bf installed DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 1557540110 3094 6a5f9694de9b98ca71ed47b605ba977a installed DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch 1680539618 3714 a62e47f8159b75a079594efad4a34868 installed DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 1620256101 24771 2d838e5efc044e30fecec1c0ee5853b4 installed DEBUG util.py:445: annobin-11.13-2.el8.x86_64 1689004560 1005406 258c7f2583e2b2cd59412ccbb4ed502b installed DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch 1676684160 157400 c36f4f57b78ec89f9ac77f0d2edef314 installed DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch 1586216137 5683972 9697dbcb924dbd4435f35458f3e0a320 installed DEBUG util.py:445: npth-1.5-4.el8.x86_64 1557539615 47909 b944c570e2db54dd8f8d3ab4d7b7990d installed DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch 1557787906 4398414 a27029d067dc090e174ebae3e994403a installed DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 1661957780 9919259 0b51343dec74afd8466e25d023671580 installed DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch 1650028059 0 b8b9b1538fe7cda65fa74d5d86014e9b installed DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 1586219104 266609 0d454699b91476374cc9397d264731f3 installed DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch 1557535856 14187 398894375a82b4e1d5f7f0b38d3bec99 installed DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 1650481543 319773 f0f46909dc8f2029a7a045f7d0d50314 installed DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch 1557802474 104 43aa3a337edfc79098c8ad423b5e49df installed DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 1557795391 109677 c63a249918e68c8fb851261731080349 installed DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch 1692099175 290089 d4a58377409484354c21c508ec09a4f4 installed DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 1573236241 315856 e5d50b0e3a219515e3750449e63cb1e2 installed DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 1586219222 1028472 9871866c5dc03e2f1adf8c7cc84d8a1d installed DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch 1687429015 511139 0c95178d26cd94a9667dd5e62ede1bf9 installed DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 1592335988 91982 110d22c488501f2d497a2497d2fd3b82 installed DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch 1557791779 414 0c2ffae7ef28a3e4ad323b8bf7838fc2 installed DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 1573245539 597617 3238eebe16e74f4f20a0d43492842ab2 installed DEBUG util.py:445: centos-gpg-keys-1:8-6.el8.noarch 1648479459 5553 17a6c705245dbce28757688b8f111bc8 installed DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 1557799785 29263 56d72ffa985b1d479bf170e442b840e9 installed DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch 1648479459 27325 b092d25cd1ef83cf0cc65d36f9eaf62d installed DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 1557799696 48759 1f160b358d95dc012768764ef017ab26 installed DEBUG util.py:445: libnghttp2-1.33.0-5.el8.x86_64 1697446299 168244 d44fde5a0550ab3df2bdb197afaa9138 installed DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 1592338400 75067 925052072a637a4b57e5d7fad2d32777 installed DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 1628572349 1006595 15d3b20f700d3c5214ea8b788acd0619 installed DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 1557799695 523837 2017f62bc27ca372978960ff77416260 installed DEBUG util.py:445: grub2-tools-minimal-1:2.02-129.el8.x86_64 1658241039 772858 82a6c4de92c3b9e8a12168603ded3cdb installed DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 1592328474 132456 98a6c3804c03d590f4d9c7c95e404cc0 installed DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 1557538364 47034 5625ecad632168eecb8960821b0abeca installed DEBUG util.py:445: libXxf86vm-1.1.4-9.el8.x86_64 1557800208 26424 2e674cae50d672e67f5afc5b46afe913 installed DEBUG util.py:445: grubby-8.40-48.el8.x86_64 1686661445 63591 040210d5ea6191853cc97d5b1d5649b1 installed DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 1557796570 62583 e8238df1f04b3284ea4c6b4a5c1c79ca installed DEBUG util.py:445: gdbm-libs-1:1.18-2.el8.x86_64 1657904919 118464 66315874e03177ee8c3ddf19661d2510 installed DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 1557797252 57021 9e9c07ea8ff2599ca7a271a05b92641d installed DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 1631282784 369615 6770948cf9ead54ea1e58bdd81aa3e07 installed DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch 1557814059 1070824 db0cbd7441bae6fe18d87986701c4b0a installed DEBUG util.py:445: libkcapi-hmaccalc-1.4.0-2.el8.x86_64 1701937677 34214 27f6701d1aac7b11f8187b6d89ff9f32 installed DEBUG util.py:445: libijs-0.35-5.el8.x86_64 1557797717 60640 86aa14b655428b65d88a68e8b0014c2e installed DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 1687832403 128567 5a436f8cb607778b3f684429a58c3213 installed DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 1557800694 53794 b10475c4ce5d13728b96c76f68834d1e installed DEBUG util.py:445: hardlink-1:1.3-6.el8.x86_64 1557584225 36734 c181276efeba819b03a9eaa4e0560fe0 installed DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch 1557812133 1428518 2cbb1a3a39ef1185fe9a193d003951ba installed DEBUG util.py:445: pigz-2.4-4.el8.x86_64 1586225446 140679 1c50ec08f41c019995d4702eaeb6459d installed DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch 1557812133 86572 500e4022d7801715bb69cc1f1e1603c3 installed DEBUG util.py:445: openssl-1:1.1.1k-12.el8.x86_64 1701348971 1185617 99d9c16b326f8356feb7958c1b2d720e installed DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch 1557812133 1099749 c64c1ed1e447e132e92adfd76aa3870e installed DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 1692107128 901092 4f75be43f214703b14ddab11c2586dd1 installed DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch 1557812133 2469317 dffcdf61c430e626a40ce66d8ba2fb93 installed DEBUG util.py:445: curl-7.61.1-34.el8.x86_64 1702311458 700909 64e2b1d32eed3516cf57528ac5bf9f22 installed DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch 1557812133 45184 3d036fbd5ec99facbd7416bcff86c58f installed DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 1646024913 2699766 28a799aac50e4bf636555a59b7c774ff installed DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch 1557812133 5478 90b579587fc764dac0351a2f2e04f3c4 installed DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 1683111744 790736 8e4084a1335c10349c3c2324e89e32b1 installed DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch 1690913611 73739 d6a452df4cc716ea4a6f7e360a0d4dbf installed DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 1569937142 156867 e161e48826fbf0298512536fe2d572c6 installed DEBUG util.py:445: grub2-common-1:2.02-129.el8.noarch 1658241249 5067207 00f4bc37a08c6f1bf98b7788f6032871 installed DEBUG util.py:445: libgs-9.27-12.el8.x86_64 1695233820 19192291 a2fcf295e664539c0afc1ab03b56f589 installed DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 1673341773 315340 7a724040b0697f7e0459c9c0154dbdbc installed DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 1645628884 1806404 ca30c032ba21d3c8b1cf9ed8a13f40df installed DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 1636621603 69290 4fdfb4f2df790d25d080cf3834ddf07b installed DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 1687333170 1700591 e40ee491c01bb66062e250f6a006e4b3 installed DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 1557533865 27346 bdc22fe0cdcb03a5014e6275c6539003 installed DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch 1557793701 73932 7fbb3efb70b3a17ca40662e89407d14b installed DEBUG util.py:445: audit-libs-3.1.2-1.el8.x86_64 1699258421 308514 6891e4a928af17c2a49bceeab6ee5505 installed DEBUG util.py:445: graphviz-2.40.1-45.el8.x86_64 1701794204 8258919 f61d9da32bfdd9dcfbb48929a0d2ddb7 installed DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 1557538013 902818 e84b78135beff56ee4835fed39d7401c installed DEBUG util.py:445: rpm-build-4.14.3-31.el8.x86_64 1702476008 299090 fdea2a24ac9dd7cba3caef79c4bd7e4c installed DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 1629847282 247936 7cc496ef4794d14eb6d2beb2213a6068 installed DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch 1603982946 3586069 895719c97b49f7f4f0bd9cbe8ef927f8 installed DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 1692099122 955832 91643d39d34f06af8736e46c4bec4271 installed DEBUG util.py:445: python3-eventlet-0.33.0-3.el8.noarch 1700749472 1583515 02fdfb16456ca6c0aa13e2e668e34b19 installed DEBUG util.py:445: pcre-8.42-6.el8.x86_64 1623077291 509947 b146b4e2538cfead7d91fa5629c7672b installed DEBUG util.py:445: make-1:4.2.1-11.el8.x86_64 1635253659 1436080 f286aaf14214bf70a276d01984f5be36 installed DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 1684151951 827702 1fd10303fc1a1a3a61f614b8239ef433 installed DEBUG util.py:445: platform-python-pip-9.0.3-24.el8.noarch 1707924114 6912668 e2491c0b426e65b17398d86d64f587e2 installed DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 1656337654 164967 94e1a4189359a90b9127634191a3f402 installed DEBUG util.py:445: tzdata-2024a-1.el8.noarch 1706898736 1780398 89d439b60e48d6c08f0600a6ac0ea26b installed DEBUG util.py:445: which-2.21-20.el8.x86_64 1679496935 83372 a67294bcd2e9da718a29c9e632e48345 installed DEBUG util.py:445: python3-pip-wheel-9.0.3-24.el8.noarch 1707924114 897991 4d6962534bdf95ce2a48f796a321192e installed DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 1557533913 9815016 8eee07257e44944a0f934d9d302fb451 installed DEBUG util.py:445: gmp-1:6.1.2-12.el8.x86_64 1707749805 766300 37732bc21d8a9443139fc4da029fe107 installed DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 1573240114 287762 206b757710d3924958eeb8bd423243bd installed DEBUG util.py:445: libblkid-2.32.1-46.el8.x86_64 1707392132 343960 2d12c13c323e9d7be1e81e60a32aba9b installed DEBUG util.py:445: kmod-25-20.el8.x86_64 1698157693 244242 1e1ca7bf3607dd0e04ea2dc116ee795c installed DEBUG util.py:445: systemd-libs-239-81.el8.x86_64 1708935728 4690430 18c320c1e34d1f685c06d6d51a544dd1 installed DEBUG util.py:445: sqlite-libs-3.26.0-19.el8.x86_64 1704381675 1166545 fcd3818dca887b2942af0eeddcde75eb installed DEBUG util.py:445: libfdisk-2.32.1-46.el8.x86_64 1707392132 438882 76828df6683d183cf4e9b326bf415825 installed DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 1586217131 274814 25be112b9cbc4a9c50fe045ce7ab452b installed DEBUG util.py:445: libssh-config-0.9.6-14.el8.noarch 1708947739 277 3fc7b73f19fafab3dd9359b78bc2e348 installed DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 1600319865 890309 e7092f20692df73b0872788240cb4f77 installed DEBUG util.py:445: util-linux-2.32.1-46.el8.x86_64 1707392132 11576107 50679ea3131f71fee4502108db3366f6 installed DEBUG util.py:445: glibc-common-2.28-251.el8.x86_64 1705673995 7997116 1bd6771787f4db267b80464184b2b4ba installed DEBUG util.py:445: systemd-239-81.el8.x86_64 1708935728 11358021 b63e1dc3f9ab38c0c7435008c1c260d5 installed DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 1660612117 312352 6ed29e7063ac6b372e35ffead945b764 installed DEBUG util.py:445: device-mapper-8:1.02.181-14.el8.x86_64 1706918844 357916 e9e014e04ebbd591a6bf696ae2c9c3ea installed DEBUG util.py:445: file-5.33-26.el8.x86_64 1698257316 93419 67191e9c66404f3294e0cb1b925c3f52 installed DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 1649373002 6861444 cadc3326c595c0b04115f7757854811d installed DEBUG util.py:445: libssh-0.9.6-14.el8.x86_64 1708947690 521903 da8f28586969d8416569a0071e92cb31 installed DEBUG util.py:445: elfutils-libs-0.190-2.el8.x86_64 1702418164 738239 da7252477bef09711ee33ab197032439 installed DEBUG util.py:445: kernel-headers-4.18.0-544.el8.x86_64 1708638370 5653500 b2eb42a0e5755eb1e73912a3b8160586 installed DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 1676684086 396846 2cdc0ef4b9ba08d19052063568f1488a installed DEBUG util.py:445: libtirpc-1.1.4-10.el8.x86_64 1709631022 228742 d8dd8c8d1366f02de2ecd9bb5acccd27 installed DEBUG util.py:445: krb5-libs-1.18.2-26.el8.x86_64 1696969667 2242307 2466cf7744af547cbf2185f8189b3f9f installed DEBUG util.py:445: python3-prettytable-0.7.2-14.el8.noarch 1557807872 171099 5a0d8112efe6e474f37613b348375fd6 installed DEBUG util.py:445: dracut-049-233.git20240115.el8.x86_64 1705311615 1057887 4230d0cbf7350f3b5c0e8505b822543d installed DEBUG util.py:445: python3-netaddr-0.7.19-8.el8.noarch 1557807764 8801737 eaede48359fa94bd9066db32354aea1d installed DEBUG util.py:445: python3-simplejson-3.17.6-2.el8.x86_64 1645645411 1021936 2f147ea4ed419aea2caa277d59cdfcbb installed DEBUG util.py:445: basesystem-11-5.el8.noarch 1557533944 0 f988bd6b76df626c40d6e051ee7629c9 installed DEBUG util.py:445: python3-fixtures-3.0.0-27.el8.noarch 1645616741 335974 1eda0c4a4f2bc06525eb93c846b5b639 installed DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 1696451726 1857708 8942af220edaaf5666a7a9d4491c0a9d installed DEBUG util.py:445: python3-mako-1.0.6-14.el8.noarch 1675262817 553374 5dc5e0144b5455ad0a28ddc3ae11a8ff installed DEBUG util.py:445: python3-futurist-2.4.0-0.20220311160357.d70c7e5.el8.noarch 1647014835 217869 dc53d3e4b48660d57ee782143eb7b6a6 installed DEBUG util.py:445: python3-subunit-1.4.0-1.el8.noarch 1584717853 330559 2b95f2bf26e7176c77e172f71f2542b0 installed DEBUG util.py:445: readline-7.0-10.el8.x86_64 1557540187 466321 53395adc92c214ce3ce3f63c19180d19 installed DEBUG util.py:445: python3-importlib-metadata-1.7.0-1.el8.noarch 1595226949 138081 8b88019ece89480da4cd57831fb0cbe7 installed DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 1557538610 1855932 7769c82a0a6aa692f4778f71f6fdec0c installed DEBUG util.py:445: python3-keystoneauth1-4.5.0-0.20240201061910.8da0a63.el8.noarch 1706768551 2044768 2ca1322222d7eca9126b3600c12cd037 installed DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 1557539247 612625 7504c4f1b7aab1cf22f4896a6c35e91f installed DEBUG util.py:445: python3-wrapt-1.13.3-2.el8.x86_64 1645650970 170142 608c74c474e5bd04bf77ed34ee23b8e3 installed DEBUG util.py:445: python3-oslo-context-4.1.0-0.20220314115038.3400cc2.el8.noarch 1647258784 54605 1228a5192f241c645608c52a1cfc744f installed DEBUG util.py:445: shadow-utils-2:4.6-22.el8.x86_64 1700557389 4072092 fe0bd503b99d6bb90b2b4451a09e6080 installed DEBUG util.py:445: python3-vine-5.0.0-2.el8.noarch 1605087743 47750 0b1ade1a738529076f23a758df08f731 installed DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 1696451726 331983 9bbc6bd0577a170005131eaf235a1f1a installed DEBUG util.py:445: python3-tenacity-6.3.1-1.el8.noarch 1610340739 154440 e31466332931354d7870d72cf4b7c07b installed DEBUG util.py:445: python3-msgpack-1.0.3-2.el8.x86_64 1645643644 269385 62acffc73d90ee4137b27caa9589d523 installed DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 1557538193 147122 7be9bc3ac6e7e4d56de085c410a8e20d installed DEBUG util.py:445: python3-netifaces-0.10.6-4.el8.x86_64 1557807838 40169 443140928cf8c98b445cf8ba62f5bf4a installed DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 1673989584 165293 b24f7dc4a3635fb95f51754aa4ed156e installed DEBUG util.py:445: zlib-devel-1.2.11-25.el8.x86_64 1684348514 141078 76367411174bf2e8c9577ca262b9d2ca installed DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch 1692655580 2332477 9be27827302de3f64ec3bf141f570d32 installed DEBUG util.py:445: libxslt-1.1.32-6.el8.x86_64 1602701861 751741 4f9035f3dfbee97bd3f6396d93dcc3db installed DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 1631282784 1903352 80e1135f96aa415c9d975c105d70e8dc installed DEBUG util.py:445: libgcrypt-devel-1.8.5-7.el8.x86_64 1656335846 236280 eee807e734e8c7739f1046a533640e1c installed DEBUG util.py:445: kmod-libs-25-20.el8.x86_64 1698157693 126640 9406bb1db30a3da946e1ac7d306e0295 installed DEBUG util.py:445: python3-cffi-1.13.2-1.el8.x86_64 1579942955 1061179 19751abd44b8cb04437a3b2cdec1dbe4 installed DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 1645712177 726186 00c2948c2521fc542071f445b4766d64 installed DEBUG util.py:445: python3-pyOpenSSL-19.0.0-1.el8.noarch 1605563899 559518 ee81af96a65dbf35591f0b29f7927abb installed DEBUG util.py:445: dbus-daemon-1:1.12.8-26.el8.x86_64 1687176654 559353 e7d5b6095f6d1c4ccbe83f2eddc759df installed DEBUG util.py:445: acl-2.2.53-3.el8.x86_64 1696607291 198404 139b1a73604aee80aea467539e799243 installed DEBUG util.py:445: python3-libs-3.6.8-59.el8.x86_64 1704453784 32461803 d1a48c8c97c3131ba37690de925ce15e installed DEBUG util.py:445: python36-3.6.8-39.module_el8+762+77bd8591.x86_64 1701182946 13131 063fcc15461166ccde2cfb3aa2dea24b installed DEBUG util.py:445: rpm-libs-4.14.3-31.el8.x86_64 1702476008 739560 03c29de5edbe87a2aadd1bfe3c837a4c installed DEBUG util.py:445: glib2-2.56.4-163.el8.x86_64 1706892277 12279824 90e202f101bf444e19ed0ded3c9fc38a installed DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 1573236536 5412553 b0c5f450b122286eb0d173e9c1aaa23d installed DEBUG util.py:445: grub2-tools-1:2.02-129.el8.x86_64 1658241039 9265586 d3a1ac52a752f8db88488bd6d016b3b3 installed DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el8.noarch 1702418198 1810 700bf1a6b29754acae72156f063130b9 installed DEBUG util.py:445: trousers-0.3.15-2.el8.x86_64 1701008532 379774 0ab53f4878052e147ddeef1da3f8d4ac installed DEBUG util.py:445: libpng-2:1.6.34-5.el8.x86_64 1557585796 235304 de6b9bd5cb672b910a696870cb3364ab installed DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 1629846615 710881 980ad1970c77bcbef9a5f9b90f2f3c24 installed DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 1626498492 525483 bcab14000d498cc0f5db2fa67ac21c0c installed DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 1557799051 93427 47f227b29e3abb1260b8f1f178b588ca installed DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 1557537853 202763 44d9976e6073475aebe11bef3ff8dc33 installed DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 1622639140 371562 159f175d036031f757452793c1ff5f49 installed DEBUG util.py:445: python3-idna-2.5-5.el8.noarch 1557588568 521503 d78a510e3975b98c8d254227e8674a17 installed DEBUG util.py:445: binutils-2.30-123.el8.x86_64 1690288815 24945550 4d7793ee904a663e479a61c1f5e1654c installed DEBUG util.py:445: glibc-headers-2.28-251.el8.x86_64 1705673995 2031958 4910d118c94bda7d1409728123d780b0 installed DEBUG util.py:445: unzip-6.0-46.el8.x86_64 1643346578 424013 f5f7c13a930b6f1d06155de169cfb0e2 installed DEBUG util.py:445: zip-3.0-23.el8.x86_64 1557590650 842885 100278a94f1f36e5918a09b79dbfa0a1 installed DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 1696451726 29661654 8a6cf8b48ec285ba4c4c86ff8fb98f31 installed DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 1648112888 546483 73e07dada814c02ba5df126faf95da8d installed DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 1557807137 199914 91e0fb519dd83812e53a731ed74f5fec installed DEBUG util.py:445: python3-docutils-0.14-12.module_el8+762+77bd8591.noarch 1701183603 6160361 ceace1ced859627508ff6f6cb8eb118c installed DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch 1557588504 925538 3d6e31f2f246ed23c213fc0cd0d3ca9d installed DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch 1557588655 77054 aca0c79a26e9d6a28d3071c1f2270fb4 installed DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch 1615370609 390169 029424c3156bf041a00641cdfc97e812 installed DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 1557807784 78019 3a1380b91678566bb2cbf12fafefcbd7 installed DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch 1626973605 20921752 879f27a4399083674fedae88e51a7d15 installed DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch 1669460862 56753 08702ebf7864d91e4fdf84084979c72a installed DEBUG util.py:445: python3-pyparsing-2.4.6-1.el8.noarch 1580313147 650713 8ac5c9703ea9b3698bd00e45e66acc18 installed DEBUG util.py:445: python3-snowballstemmer-1.9.0-4.el8.noarch 1579795961 1200843 a6b92897d69cdf8b00ac6593eb039726 installed DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch 1580211253 64682 fabb49fce97a666a44c6eff2e121b71b installed DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch 1599567831 67484 be89ec19f1cef9c296975bc042efe7d9 installed DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch 1580216732 59149 d9d3b02dfcfa6ceb77ce5e95eead3d74 installed DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch 1604489053 101173 8f5e78f6104d838fcafe369bbbb8e98e installed DEBUG util.py:445: tpm2-tss-2.3.2-6.el8.x86_64 1701008558 1209190 10b00a9d16db17d1bfc81e2722045d58 installed DEBUG util.py:445: avahi-libs-0.7-27.el8.x86_64 1699556352 155928 b3f58b340d187526532547417d87a408 installed DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 1597694995 154147 e33931f38043a589aa86b9fcc10e85c8 installed DEBUG util.py:445: elfutils-0.190-2.el8.x86_64 1702418164 2931958 91c06a9424c4f9a53cad60b2aca42a9b installed DEBUG util.py:445: harfbuzz-1.7.5-4.el8.x86_64 1695631552 737194 ea480a7be22f00ff1e557403a4c4a87b installed DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 1557535203 93460 3a97e3a32e5b761e2596c25ba1185da3 installed DEBUG util.py:445: less-530-1.el8.x86_64 1557584772 344874 c95ece51b133ab6ce794a40e777072d2 installed DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 1557791247 229024 d16a971513963ab4666f0aef05b733b6 installed DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 1557584920 247168 bcd179f588923a78be4b41d5ec7a7a39 installed DEBUG util.py:445: python3-keystoneclient-1:4.4.0-0.20220314190516.100253d.el8.noarch 1647284948 1183705 18a39a177315c6caa9d66c276c65d8ef installed DEBUG util.py:445: python3-oslo-policy-3.11.0-0.20220314171849.b48b711.el8.noarch 1647278506 257806 4a32756079a1c14746a0865139a06a8f installed DEBUG util.py:445: python3-oslo-middleware-4.5.1-0.20220314160906.2f72b30.el8.noarch 1647274408 173670 0e80fb14f95b60c1ed10756d38b5ab4f installed DEBUG util.py:445: python-oslo-db-lang-11.2.0-0.20220314165526.22c602f.el8.noarch 1647277166 17156 83feeff0d46fbd75671300d2e98e02a6 installed DEBUG util.py:445: python-oslo-concurrency-lang-4.5.0-0.20220311165052.a9ccf0a.el8.noarch 1647017758 18833 8c86e06d0d3e04620b5e1ac457e6d0f1 installed DEBUG util.py:445: python3-oslo-service-2.8.0-0.20220314165315.6552b9a.el8.noarch 1647276890 226229 27c25cbc14087c353d20fd52c5875464 installed DEBUG util.py:445: python-oslo-cache-lang-2.10.1-0.20220314140354.d75020b.el8.noarch 1647266809 28475 cf949808fb478b5e781b7ae20a0c90f8 installed DEBUG util.py:445: python3-keystonemiddleware-9.4.0-0.20240201064833.8a05709.el8.noarch 1706770185 288787 dfe27d2e93abaa7640e151bd0128658b installed DEBUG util.py:445: python3-osprofiler-3.4.2-0.20220307232434.e475de6.el8.noarch 1646695714 471561 afe09ec7edbdd2c2bad9e07b3503e48c installed DEBUG util.py:445: python3-proliantutils-2.12.2-0.20220316122454.500f518.el8.noarch 1647434033 1502173 f6a08e51aa0a7f7361c589f7209cccbf installed DEBUG util.py:445: python3-neutronclient-7.8.0-0.20220315090519.6ca3341.el8.noarch 1647335371 1478157 4e1862f0666baa0f049c2e7fb1c88197 installed DEBUG util.py:445: python3-swiftclient-3.13.1-0.20220314193840.4989d94.el8.noarch 1647286920 629284 57fccf05185a4f517e3f1433c8c5951a installed DEBUG util.py:445: python3-oslo-reports-2.3.0-0.20220311164623.f2799dc.el8.noarch 1647017389 159309 861c060677343784a8cd96336f178b08 installed DEBUG util.py:445: python3-cinderclient-8.3.0-0.20220314194227.ee59b68.el8.noarch 1647287051 976769 5fdc66702cd022bacdffdf160fdc1bc7 installed DEBUG util.py:445: gmp-devel-1:6.1.2-12.el8.x86_64 1707749805 345135 a8a9b842cef88e7c50058b0ac2d434d8 installed DEBUG util.py:445: python3-stestr-3.2.0-3.el8.noarch 1639655928 742615 8e91665b176b422cd8c409b1c3fc1009 installed DEBUG util.py:445: libxslt-devel-1.1.32-6.el8.x86_64 1602701861 2552187 c79cfb1bbbcd6593ec14f948658c35d2 installed DEBUG util.py:445: python3-dracclient-8.0.1-0.20220413232915.eee5037.el8.noarch 1649892758 2096055 f4c4644a0baf015dd0b84a259c23a32b installed DEBUG util.py:445: python3-pycdlib-1.11.0-3.el8.noarch 1625670760 1516538 77b2543d4f48454cdabf234726dae1d6 installed DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1b960.el8.noarch 1647285429 106225 6b1d55307a14350af56770fb59d9d9a2 installed DEBUG util.py:445: python3-bcrypt-3.1.7-3.el8.x86_64 1579944037 91675 b97f12aeb6948d93e33bf759dacff516 installed DEBUG util.py:445: python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591.noarch 1701185161 340147 9a6b1a791df8ea341a38e9796413b911 installed DEBUG util.py:445: python3-smi-0.3.4-6.el8.noarch 1580181712 536962 d56db123046f485291f6be93cfa1267e installed DEBUG util.py:445: python3-sushy-4.1.7-0.20240202135909.fdbcb17.el8.noarch 1706882483 893102 d992538b287e9961af28f4bc2c25ac14 installed DEBUG util.py:445: python3-alembic-1.7.1-3.el8.noarch 1632125493 5808711 02387645f464cbd666d9a20369624a84 installed DEBUG util.py:445: python3-etcd3gw-0.2.5-1.el8.noarch 1585750478 108991 e040598736123fbd599d1768695cffd4 installed DEBUG util.py:445: python3-prometheus_client-0.7.1-2.el8.noarch 1580901419 242747 7acc72809ed0497c842a88d2696fc5dd installed DEBUG util.py:445: python3-qpid-proton-0.35.0-3.el8s.x86_64 1642501376 2589361 fd68174680eba798567fd47850edb0e2 installed DEBUG util.py:445: python3-yappi-1.3.0-1.el8.x86_64 1606209592 151885 1fdbb43bc354ac38879aecef2f9133df installed DEBUG util.py:445: python3-waitress-1.4.2-1.el8.noarch 1579890517 1110152 4f5e617b99dda05f4f9a7aa26af0ff94 installed DEBUG util.py:445: python3-statsd-3.2.1-16.el8.noarch 1579804819 118173 327066c757853f002fd20a77288a7222 installed DEBUG util.py:445: python3-migrate-0.13.0-1.el8.noarch 1580062152 760827 84c5d1a805c6e2aad09b77c1d704f105 installed DEBUG util.py:445: python3-rfc3986-1.4.0-3.el8.noarch 1600871175 179368 fef35f95ed8f3f4c9cf3d216d2e2e676 installed DEBUG util.py:445: python3-repoze-lru-0.7-6.el8.noarch 1580057272 85678 069ca5535d4df63b3d1625024042d60a installed DEBUG util.py:445: python3-redis-3.5.3-1.el8.noarch 1606209246 583372 ee2338f18d1da9adcae40d187485b558 installed DEBUG util.py:445: python3-jsonschema-3.2.0-5.el8.noarch 1600358490 423199 9aae430f975f2b3eef8644e028e2e7da installed DEBUG util.py:445: python3-pyasn1-0.4.6-3.el8.noarch 1580299621 618359 f1008fe8c8ce0a3a290489ac2660d6b0 installed DEBUG util.py:445: python3-psutil-5.7.3-1.el8.x86_64 1604928383 2259595 f401db7f033533e7b4ee94f3dfe8bf90 installed DEBUG util.py:445: python3-memcached-1.59-1.el8.noarch 1611745928 121463 d965017b1afbfa5ef35851f363f73ff7 installed DEBUG util.py:445: python3-kazoo-2.8.0-1.el8.noarch 1599467393 631450 e90766e56d465e4eba5b7b2a44d50e61 installed DEBUG util.py:445: python3-jeepney-0.4.3-1.el8.noarch 1583923040 8551617 30319f1f1a28583efd895214e43cf03d installed DEBUG util.py:445: python3-keyring-21.0.0-1.el8.noarch 1579772228 202973 54a937ad53a50b45dc1d822b784c7b30 installed DEBUG util.py:445: python3-zeroconf-0.24.4-1.el8.noarch 1580205886 428252 3859801f5f327567c47b3763ff85089b installed DEBUG util.py:445: python3-defusedxml-0.7.1-1.el8.noarch 1641828678 196967 c1fac6cb976defcb342869d9d4f1e422 installed DEBUG util.py:445: python3-colorama-0.4.3-3.el8.noarch 1599214085 80759 c3493e18e7296f6b1658dc70cdc2f04d installed DEBUG util.py:445: python3-cachetools-4.2.0-1.el8.noarch 1609925574 78654 ee148e6339131a41b5fcb61788147d30 installed DEBUG util.py:445: python3-appdirs-1.4.3-12.el8.noarch 1579856109 63407 cd993fe6225bd529856a56c937d5af20 installed DEBUG util.py:445: python3-pynacl-1.4.0-1.el8.x86_64 1599471607 539253 0f96b8e5a1dd9c7dfcdadd81031b0498 installed DEBUG util.py:445: python3-html5lib-1:0.999999999-6.el8.noarch 1557807875 1124483 0ad0f611808a3b4728ef94e0a6b19b41 installed DEBUG util.py:445: python3-lxml-4.2.3-4.el8.x86_64 1643268468 5026914 baad5d53fcac83834da724bab22cdcf4 installed DEBUG util.py:445: python3-jsonpointer-1.10-11.el8.noarch 1557807561 33231 dbd0d24aa8a490affab77b15aec55691 installed DEBUG util.py:445: python3-warlock-1.3.3-1.el8.noarch 1579833459 31258 8b72eda3dd0870af5c7965bfe5c8fca9 installed DEBUG util.py:445: libpq-13.5-1.el8.x86_64 1639019200 740900 9a8dbfb4803a6f67d16edcf0e0f9890f installed DEBUG util.py:445: cmake-filesystem-3.26.5-2.el8.x86_64 1698982677 0 4e70ab59d12853c03f34c0c6d063a79c installed DEBUG util.py:445: libxml2-devel-2.9.7-18.el8.x86_64 1695233668 9202588 1da979ff4aca7689a24c17a3f20ac66f installed DEBUG util.py:445: pcre2-utf32-10.32-3.el8.x86_64 1656337285 583438 a9357973bbf84014439ab6b63fac788d installed DEBUG util.py:445: pcre2-devel-10.32-3.el8.x86_64 1656337285 1922619 ce47f573b2c50a1c9652856c0c9874a3 installed DEBUG util.py:445: python3-pyyaml-5.4.1-2.el8.x86_64 1614068687 701061 3c205dae0b86376e3fa78875b4f9ed71 installed DEBUG util.py:445: libverto-devel-0.3.2-2.el8.x86_64 1657602357 26296 52ce2e056932b2bf8c7fc1183c88216f installed DEBUG util.py:445: libselinux-devel-2.9-8.el8.x86_64 1670915474 192379 c6824252dea3bb87add2d2819c78639d installed DEBUG util.py:445: libcom_err-devel-1.45.6-5.el8.x86_64 1653248421 17058 3d56d7ffbb0f50f9da5fd61c6880ba9b installed DEBUG util.py:445: krb5-devel-1.18.2-26.el8.x86_64 1696969667 1128199 7a3b989de20537de9c145dcfbbd84cb9 installed DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220307123924.d7ac0ff.el8.noarch 1646657010 16711 b07c7e7f21cf87ecf7f4c73a9eb4f8ee installed DEBUG util.py:445: python3-os-client-config-2.1.0-0.20220307201837.bc96c23.el8.noarch 1646684483 204155 826ea1978063a6ed82678e8da9659791 installed DEBUG util.py:445: python-oslo-versionedobjects-lang-2.6.0-0.20220314182459.25d34d6.el8.noarch 1647282554 14691 01cd64efdd4bb872d4ec49c8950371a4 installed DEBUG util.py:445: python-oslo-policy-lang-3.11.0-0.20220314171849.b48b711.el8.noarch 1647278506 14081 295b3ad19eb12d8f3350cbabe766c255 installed DEBUG util.py:445: python-oslo-log-lang-4.7.0-0.20220324144856.de03a59.el8.noarch 1648133555 17101 6d83b2eb84352ca8edf30effc1177272 installed DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20220307124733.b031d17.el8.noarch 1646657383 179505 a8da11422a27051b447f78054855cb76 installed DEBUG util.py:445: python3-oslo-config-2:8.8.1-0.20231115112140.966c588.el8.noarch 1700047589 1169889 ae8afd03eb5c6a9c6c897693b5c514ec installed DEBUG util.py:445: python3-oslo-log-4.7.0-0.20220324144856.de03a59.el8.noarch 1648133555 166344 00aacb62d3d8a6c7a2e6da4b69a3dc2e installed DEBUG util.py:445: git-core-2.43.0-1.el8.x86_64 1701877229 33290397 89df7e8e29028679a8e831a6309726fb installed DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 1696451726 190224 197f76862ec54ae58904250a0c4e1847 installed DEBUG util.py:445: python3-pycadf-3.1.1-0.20220311163944.4179996.el8.noarch 1647017129 151246 a039bd8b138c699a493117713d8a9ad2 installed DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 1557540110 63271 c5c251d6f960076fcbae5a6e61fe23d1 installed DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch 1680539618 4325 6c6fb582c6e7a478e864dd17583a1f84 installed DEBUG util.py:445: python3-oslo-db-11.2.0-0.20220314165526.22c602f.el8.noarch 1647277166 572578 2dfc6f614c76391c53ff2f00b821f817 installed DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 1696451726 61705150 94cc1672edcc985dc0a4001e739e62e6 installed DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch 1674590029 347735 5e62a2f36d6b9851be753cb0542736ec installed DEBUG util.py:445: python3-oslo-messaging-12.13.3-0.20231124143847.047da4e.el8.noarch 1700836814 979293 d53dc65c93c3ab0bbff96fa420c87f01 installed DEBUG util.py:445: platform-python-devel-3.6.8-59.el8.x86_64 1704453784 674053 f8d955468a41e3f0d87c31127d5e05f7 installed DEBUG util.py:445: python3-oslo-versionedobjects-2.6.0-0.20220314182459.25d34d6.el8.noarch 1647282554 273148 50213f5ae4d3fd1230cc6126cc47299c installed DEBUG util.py:445: rpm-build-libs-4.14.3-31.el8.x86_64 1702476008 216120 37d32e92fab20cd1cc624e55c8343673 installed DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch 1557535917 64502 8ce7a82bce196a11a42960b007ef0867 installed DEBUG util.py:445: python3-oslo-db-tests-11.2.0-0.20220314165526.22c602f.el8.noarch 1647277166 760712 532b3612d853bfee04ac2eb0b7864000 installed DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 1606872437 159483 dffd88facccacc54747680c27e6dc140 installed DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch 1557802444 737 287a7361faafcb3820cffcce8958f73b installed DEBUG util.py:445: python3-scciclient-0.12.3-0.20220729095350.0940a71.el8.noarch 1659088910 763179 ca291dd4f42e71affe249b0ca7bd507f installed DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 1592328400 61140 ca2961607311999ff371f6fc83e2aeec installed DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch 1687429015 2549569 370310eeb7e1aa02a16be0cab2842bbc installed DEBUG util.py:445: python3-glanceclient-1:3.6.0-0.20220314183717.626c500.el8.noarch 1647283304 571740 bb434d76c77bbe376844b836caef3bba installed DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 1557800148 52595 aae5a4b6679fda4aec635060b59c5d69 installed DEBUG util.py:445: emacs-filesystem-1:26.1-11.el8.noarch 1681329593 0 faf639ce481644e5bd7adf33d00c4d36 installed DEBUG util.py:445: python3-ddt-1.2.1-4.el8.noarch 1579760586 21135 9450cd96ce06c80f739402a9fb396d09 installed DEBUG util.py:445: libXpm-3.5.12-11.el8.x86_64 1697029191 120991 447f360e00f38c285c2b597a196dee9d installed DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 1610440170 1522084 00b886e8ad6fc471f1f87d849b045841 installed DEBUG util.py:445: python3-automaton-2.5.0-0.20220314171459.aaca110.el8.noarch 1647278177 119373 143602d489a864ee1653d3c8fbec36e7 installed DEBUG util.py:445: libXinerama-1.1.4-1.el8.x86_64 1557799917 15719 a58f333735db17b93d106a10499d219c installed DEBUG util.py:445: python3-os-traits-2.7.0-0.20220314182947.3d1dbf0.el8.noarch 1647282791 80015 49fb94328bef8644f8ee8d63e213c5e7 installed DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 1557800213 32012 c1728eb43ebd6d96c74380d3ec4c60c1 installed DEBUG util.py:445: libcurl-7.61.1-34.el8.x86_64 1702311458 597640 c483c1fb91b20564bba1b3e2818fe579 installed DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 1557799230 774997 801f8cc0e2979cb4c0fd989e1ff4f752 installed DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 1624079346 43798 293f99eba1dca583e70353c5b61afac4 installed DEBUG util.py:445: libidn-1.34-5.el8.x86_64 1557798071 713211 093d16171fe387733094b8aead460e49 installed DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 1657602357 26789 06cdda95dc186961629de2a1fafe340d installed DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 1557814482 502730 4563ac1d6facd98936be75bc47d27bc6 installed DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch 1557812133 1216672 8ad6b1809fd9281e8207ed1461f2b13e installed DEBUG util.py:445: gdbm-1:1.18-2.el8.x86_64 1657904919 389737 04ab9339707040a6bc7b8a7029e98da1 installed DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch 1557812133 1557171 5b3ff8d7697534b661d9c1f860da20a8 installed DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el8.x86_64 1702418164 54918 9a5162922f0023e7f8f81398fc476fd8 installed DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 1557798538 90939 4970014f161418aee1c0460e8ce027e7 installed DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch 1690913611 190780 c7e44b2df623f6cdd4faf472c26f65a6 installed DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 1659783982 386040 5641a0f14e5cbce8bb427aa8863d0e06 installed DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 1557535203 77229 dd9abf1cc65154142a808c839f4dda55 installed DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 1623359101 789346 56e287095e23061e4e53cf69b4fc7ad1 installed DEBUG util.py:445: libacl-2.2.53-3.el8.x86_64 1696607291 37864 993578ae36060f393d726f49451ae7d8 installed DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 1610550220 13656670 e99de318a9515b6a03d9fe7896439b7d installed DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 1623077234 51470 0cb04ab8bb58a307ae9ae862d5a7c8b0 installed DEBUG util.py:445: python36-devel-3.6.8-39.module_el8+762+77bd8591.x86_64 1701182946 13131 0d84ec0f8532c7edbfce5ebd3cdbf439 installed DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 1624987199 121071 f6620dfa2263b2cbb74a743ee0776f62 installed DEBUG util.py:445: python3-sqlalchemy-1.4.31-1.el8.x86_64 1645649058 14567652 e6d8a617ab2adaebfdcc7784d49dc668 installed DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 1656337285 656742 7b0e49fbc2a80d378af0f9d5e06f212f installed DEBUG util.py:445: python3-pip-9.0.3-24.el8.noarch 1707924114 2870 6e06751baf6523eb40880edc5a969876 installed DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 1557533913 239047 3ced50b8ce5c91849d67c8e6f75f5cd1 installed DEBUG util.py:445: libmount-2.32.1-46.el8.x86_64 1707392132 398306 33c38b31eb19e4e56ff593aebe093ee1 installed DEBUG util.py:445: libxml2-2.9.7-18.el8.x86_64 1695233668 1753138 4f531c3ea6ad7770246028751d2dd98f installed DEBUG util.py:445: libX11-common-1.6.8-8.el8.noarch 1708356585 1339608 e36d16e255c139a7d1814ea95846ce58 installed DEBUG util.py:445: elfutils-libelf-0.190-2.el8.x86_64 1702418164 1024034 80092ed27d1209ac87272292b67b0a2b installed DEBUG util.py:445: systemd-pam-239-81.el8.x86_64 1708935728 944536 564080671c71da5a696c38128422911a installed DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 1670915474 173168 30c470acf094308028643d2f1e2cfbdf installed DEBUG util.py:445: file-libs-5.33-26.el8.x86_64 1698257316 6386570 95589319719d88b3f47384088b778662 installed DEBUG util.py:445: dbus-tools-1:1.12.8-26.el8.x86_64 1687176654 124953 26c109bc01b8cd8cd8cb26f81c420d2d installed DEBUG util.py:445: libX11-1.6.8-8.el8.x86_64 1708356635 1344008 9fb39a76f6aabde92f5f2d06132745b5 installed DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 1687428901 1623189 b7415c5364e6da6a9d3485b1de69fa76 installed DEBUG util.py:445: python3-webob-1.8.6-3.el8.noarch 1599578765 1265395 39e76afdc5efada9bbbff0772ed9c5ae installed DEBUG util.py:445: python3-decorator-4.4.0-5.el8.noarch 1580270094 60998 2396ad78d94459ad2874339675e3dac8 installed DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 1624338504 0 3c32372eedf991b4800af16812b623be installed DEBUG util.py:445: python3-testtools-2.5.0-3.el8.noarch 1657717723 1551453 51bd816885276d6596d612450d79a481 installed DEBUG util.py:445: grep-3.1-6.el8.x86_64 1557537409 835205 94ed80f88be0c0b77082a51035c5e53f installed DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220307143627.0b2f473.el8.noarch 1646664041 105128 932ba22031b9dd031961a1f2dddb2687 installed DEBUG util.py:445: sed-4.5-5.el8.x86_64 1634320754 765142 14c1532e925c87f63bc1f647127f98ab installed DEBUG util.py:445: python3-stevedore-3.5.2-0.20221024072403.6c9978a.el8.noarch 1666596538 260115 86d06eeb747b37b4e0029ddbc81d1347 installed DEBUG util.py:445: python3-debtcollector-2.5.0-0.20220317120440.a6b46c5.el8.noarch 1647518920 77247 f5a7020b93622d46d76dd90ae63bdb49 installed DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 1629847198 761624 3f85cc6fc6a3cbe88ab0400ea87e46fa installed DEBUG util.py:445: python3-amqp-5.0.9-1.el8.noarch 1645640172 391523 16027f49d9d6d2358075b8630693f175 installed DEBUG util.py:445: dbus-libs-1:1.12.8-26.el8.x86_64 1687176654 380760 e19f5f4f99759cecb909611a028b38f8 installed DEBUG util.py:445: python3-fasteners-0.14.1-20.el8.noarch 1580029617 112957 bd84cbbac090c1e13709e5976a744ff1 installed DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 1586218984 1369962 f1d7b5001daf0d2122265c67b7fa2b7f installed DEBUG util.py:445: python3-ply-3.9-9.el8.noarch 1610439834 439890 5f9430e3bd204c3065d8f585be96652d installed DEBUG util.py:445: openssl-libs-1:1.1.1k-12.el8.x86_64 1701348971 3774002 3edb8670dd12febca99cd706651b4191 installed DEBUG util.py:445: python3-pycparser-2.14-14.el8.noarch 1557588721 600603 6b68d2d931aee93643ccf524781878ef installed DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 1689086221 2145935 05ca35fcd07c67022ee3f416875f98a1 installed DEBUG util.py:445: python3-paste-3.5.0-1.el8.noarch 1604390372 2677039 cce83f7ce95304d30f224dd99ab7f6db installed DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 1557538847 52637 d8773aceac7955c99c3d89a95568c180 installed DEBUG util.py:445: python3-pyghmi-1.5.29-1.el8.noarch 1629915778 1541440 69633533801a22c0feeb61da43436c74 installed DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 1636621937 169813 83a4d8ffb5f6473307a39b3ccf04615b installed DEBUG util.py:445: python3-importlib-resources-4.1.1-1.el8.noarch 1610640683 108755 0e8167d5f6d371a03f35eb462e19335e installed DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch 1604588097 4012159 a58878bc680b75a3e938fc5acf4364da installed DEBUG util.py:445: python3-testscenarios-0.5.0-17.el8.noarch 1580053854 105844 4b3f27f4c6aad252b3431f64046de75c installed DEBUG util.py:445: rpm-4.14.3-31.el8.x86_64 1702476008 2087822 25988ae1d3a46209ff4f158bf71eb778 installed DEBUG util.py:445: python3-pyngus-2.3.0-4.el8.noarch 1580200751 192374 220e052f96b4a8bc9c6bbc973700aff8 installed DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 1599668606 330811 15aa0ca9c1889bdda4537f342f8df60d installed DEBUG util.py:445: python3-testresources-2.0.1-1.el8.noarch 1610340318 244862 68bd230e309060c721c96fe24b57b30e installed DEBUG util.py:445: gnutls-3.6.16-8.el8.1.x86_64 1706614290 3008199 1bad829d29473e3c98e6a22e13faf2b5 installed DEBUG util.py:445: python3-soupsieve-2.3.1-2.el8.noarch 1645646115 248555 edd6a16acd6848a599b1495d5935c1b9 installed DEBUG util.py:445: python3-routes-2.4.1-12.el8.noarch 1580061445 465045 98369ece14da525e45d19e689942494b installed DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 1654765760 812023 798980f9d28ed49dd7655425fbe54e7f installed DEBUG util.py:445: python3-pyperclip-1.8.0-2.el8.noarch 1599555843 68899 7e8afc344a375e43f241912b3f4459de installed DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 1573240087 205821 240847d47f854c3eeef95daf071359da installed DEBUG util.py:445: python3-munch-2.5.0-3.el8.noarch 1599555654 56699 6cabd324994f9ae42d055481ae082cc2 installed DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 1557539440 71434 e5553e445ddba10c79d2f430439f24cb installed DEBUG util.py:445: python3-zake-0.2.2-18.el8.noarch 1579853515 127979 b612cb650583bc8439b5537ef906f9e5 installed DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 1605564175 127093 73998427af4ab3f697010e42c96f4ce0 installed DEBUG util.py:445: python3-ifaddr-0.1.7-2.el8.noarch 1599467710 37096 0b24412767fc4090eca9759c232deb80 installed DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 1675871473 334095 12bc68bc97e3d94e08db9b7789d18d91 installed DEBUG util.py:445: python3-cssselect-0.9.2-13.el8.noarch 1580353461 144960 0d30ec60e1a3e65df80fd3817555678a installed DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 1611039866 3287806 e61d1f59bef124a4493b72a77bb9b5b8 installed DEBUG util.py:445: python3-autopage-0.4.0-1.el8.noarch 1630066309 118226 40489dc41093b2737399425996bc15d0 installed DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 1557586041 520362 debd45dfee226d419b9cb0f66242aa5b installed DEBUG util.py:445: python3-webencodings-0.5.1-6.el8.noarch 1557808322 73578 12c558689a939dd3db86f5b32ea3d0e1 installed DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8+762+77bd8591.noarch 1701183407 7786043 5b6da95957b37bba6c227fa6d82b180f installed DEBUG util.py:445: python3-webtest-2.0.35-3.el8.noarch 1599578942 297971 fa3ef0aa6cf845163f3aac0eac7809e5 installed DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch 1615375209 671301 7e227c737a9e8bbdbc381acbd288ccfa installed DEBUG util.py:445: python3-jmespath-0.9.0-11.el8.noarch 1557807545 119891 acc9fe266f7f9c0cd26e1729effbb2d0 installed DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch 1689251466 178761 776850354b11a6af5b7bb4226003a99d installed DEBUG util.py:445: xz-devel-5.2.4-4.el8.x86_64 1656337654 206470 8fa4c5fe5715c5532c06f05c1043dcdd installed DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch 1557807838 16572 c401f76e1680146f2428e7626ce14690 installed DEBUG util.py:445: pcre2-utf16-10.32-3.el8.x86_64 1656337285 599854 a10f7ec8640c63df0e499871a3a9243f installed DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch 1579799425 38754 bcf9faa497a1e17b15a245c5223c5924 installed DEBUG util.py:445: python3-cliff-3.10.1-0.20220314185955.a04a48f.el8.noarch 1647284679 278172 a5ef3a2b65fbef2459335d1ddf9d080d installed DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch 1580215753 12139 df99bb103744ea3fb658869e0d12fee9 installed DEBUG util.py:445: libkadm5-1.18.2-26.el8.x86_64 1696969667 224360 f51c404bd7977843fc95b611d8822aa6 installed DEBUG util.py:445: openssh-8.0p1-24.el8.x86_64 1707222287 1937824 abc2d581b93941c884d3487f186d7723 installed DEBUG util.py:445: gmp-c++-1:6.1.2-12.el8.x86_64 1707749805 29024 9e07602ddfb111a45c59ad21901402b0 installed DEBUG util.py:445: python-pycadf-common-3.1.1-0.20220311163944.4179996.el8.noarch 1647017129 17480 541418e38271c15a3a5e9db05189f5ee installed DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 1557792966 270396 8bd9e8164c9b128b70bb6b6a28ecc04e installed DEBUG util.py:445: python-oslo-middleware-lang-4.5.1-0.20220314160906.2f72b30.el8.noarch 1647274408 11821 90785a8829cafb0892c3766c00aca865 installed DEBUG util.py:445: dwz-0.12-10.el8.x86_64 1622696781 230263 7fc13bfd107311f1a1028bb2c7164ef6 installed DEBUG util.py:445: python3-oslo-utils-4.12.4-0.20240126084419.92d0c17.el8.noarch 1706258772 265396 dfd4dd7558f44362c638fe60910987c8 installed DEBUG util.py:445: guile-5:2.0.14-7.el8.x86_64 1557794711 12159310 575e446ce886def641e2b1c46db9480d installed DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1030gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '6908877964de42bfb56204d875e8f0ea', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.kghbx51w:/etc/resolv.conf', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:445: Building target platforms: x86_64 DEBUG util.py:445: Building for target x86_64 DEBUG util.py:445: Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.BVI7YW DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + rm -rf ironic-20.1.4.dev4 DEBUG util.py:445: + /usr/bin/tar -xof - DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-20.1.4.dev4-0.20240318104900.ee848a8.tar.gz DEBUG util.py:445: + STATUS=0 DEBUG util.py:445: + '[' 0 -ne 0 ']' DEBUG util.py:445: + cd ironic-20.1.4.dev4 DEBUG util.py:445: + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . DEBUG util.py:445: + sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg DEBUG util.py:445: + rm -rf driver-requirements.txt requirements.txt test-requirements.txt DEBUG util.py:445: + sed -i /tempest/d setup.cfg DEBUG util.py:445: + rm -rf ironic_tempest_plugin DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.2lEvjp DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-20.1.4.dev4 DEBUG util.py:445: + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' DEBUG util.py:445: + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' DEBUG util.py:445: + /usr/libexec/platform-python setup.py build '--executable=/usr/libexec/platform-python -s' DEBUG util.py:445: running build DEBUG util.py:445: running build_py DEBUG util.py:445: creating build DEBUG util.py:445: creating build/lib DEBUG util.py:445: creating build/lib/ironic DEBUG util.py:445: creating build/lib/ironic/api DEBUG util.py:445: creating build/lib/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers DEBUG util.py:445: creating build/lib/ironic/tests DEBUG util.py:445: creating build/lib/ironic/tests/unit DEBUG util.py:445: creating build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/__init__.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/base.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_audit.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_functions.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_healthcheck.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_hooks.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_method.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_middleware.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_ospmiddleware.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_proxy_middleware.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_root.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/utils.py -> build/lib/ironic/tests/unit/api DEBUG util.py:445: creating build/lib/ironic/drivers DEBUG util.py:445: creating build/lib/ironic/drivers/modules DEBUG util.py:445: creating build/lib/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/management.py -> build/lib/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/__init__.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/allocation.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/base.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/bios.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/chassis.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/conductor.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/deploy_template.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/deployment.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/fields.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/indirection.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/node.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/node_history.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/notification.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/port.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/portgroup.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/trait.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_connector.py -> build/lib/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_target.py -> build/lib/ironic/objects DEBUG util.py:445: creating build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/__init__.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_args.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_cinder.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_context.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_driver_factory.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_image_service.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_images.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_kickstart_utils.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_molds.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_neutron.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_nova.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_policy.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_raid.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_release_mappings.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc_service.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_states.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_swift.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_utils.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_wsgi_service.py -> build/lib/ironic/tests/unit/common DEBUG util.py:445: creating build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/mgr_utils.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_allocations.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_cleaning.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_deployments.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_manager.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_periodics.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_rpcapi.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_steps.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_task_manager.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_utils.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_verify.py -> build/lib/ironic/tests/unit/conductor DEBUG util.py:445: creating build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/__init__.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_allocation.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_bios.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_chassis.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_conductor.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deploy_template.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deployment.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_fields.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node_history.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_notification.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_objects.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_port.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_portgroup.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_trait.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_connector.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_target.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/utils.py -> build/lib/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/__init__.py -> build/lib/ironic/tests DEBUG util.py:445: copying ironic/tests/base.py -> build/lib/ironic/tests DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/bios.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/boot.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/firmware_utils.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/inspect.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/raid.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/vendor.py -> build/lib/ironic/drivers/modules/redfish DEBUG util.py:445: creating build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/__init__.py -> build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/api.py -> build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/conductor.py -> build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/dbsync.py -> build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/singleprocess.py -> build/lib/ironic/cmd DEBUG util.py:445: copying ironic/cmd/status.py -> build/lib/ironic/cmd DEBUG util.py:445: creating build/lib/ironic/tests/unit/db DEBUG util.py:445: creating build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_models.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/drivers/__init__.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_base.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_drac.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_fake_hardware.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_generic.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ibmc.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ilo.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_irmc.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_redfish.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_snmp.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_utils.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_xclarity.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: creating build/lib/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers DEBUG util.py:445: creating build/lib/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_conductor.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_status.py -> build/lib/ironic/tests/unit/cmd DEBUG util.py:445: creating build/lib/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/auth_public_routes.py -> build/lib/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/test_base.py -> build/lib/ironic/tests/unit DEBUG util.py:445: copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_base.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_power.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot_mode_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/console_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/deploy_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/fake.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_cache.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspect_utils.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspector.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipmitool.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop_mgmt.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_base.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ramdisk.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/base.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: creating build/lib/ironic/db DEBUG util.py:445: copying ironic/db/__init__.py -> build/lib/ironic/db DEBUG util.py:445: copying ironic/db/api.py -> build/lib/ironic/db DEBUG util.py:445: copying ironic/db/migration.py -> build/lib/ironic/db DEBUG util.py:445: copying ironic/api/__init__.py -> build/lib/ironic/api DEBUG util.py:445: copying ironic/api/app.py -> build/lib/ironic/api DEBUG util.py:445: copying ironic/api/config.py -> build/lib/ironic/api DEBUG util.py:445: copying ironic/api/functions.py -> build/lib/ironic/api DEBUG util.py:445: copying ironic/api/hooks.py -> build/lib/ironic/api DEBUG util.py:445: copying ironic/api/method.py -> build/lib/ironic/api DEBUG util.py:445: copying ironic/api/wsgi.py -> build/lib/ironic/api DEBUG util.py:445: creating build/lib/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/base.py -> build/lib/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/none.py -> build/lib/ironic/dhcp DEBUG util.py:445: creating build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/__init__.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/allocation.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/bios.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/chassis.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/collection.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/conductor.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/deploy_template.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/driver.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/event.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/node.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/notification_utils.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/port.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/portgroup.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/ramdisk.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/utils.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/versions.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_connector.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_target.py -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: creating build/lib/ironic/common DEBUG util.py:445: copying ironic/common/__init__.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/args.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/boot_devices.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/boot_modes.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/cinder.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/components.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/config.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/context.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/dhcp_factory.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/driver_factory.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/exception.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/faults.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/fsm.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/hash_ring.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/i18n.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/image_service.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/images.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/indicator_states.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/keystone.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/kickstart_utils.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/molds.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/network.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/neutron.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/nova.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/policy.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/profiler.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/pxe_utils.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/raid.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/release_mappings.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/rpc.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/rpc_service.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/service.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/states.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/swift.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/utils.py -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/wsgi_service.py -> build/lib/ironic/common DEBUG util.py:445: creating build/lib/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/__init__.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/common.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/management.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/power.py -> build/lib/ironic/drivers/modules/xclarity DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_external.py -> build/lib/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating build/lib/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/__init__.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/common.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/flat.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/neutron.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_base.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_client.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_power.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_console_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_cache.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspector.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipxe.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_pxe.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/__init__.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/agent.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/anaconda.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/ansible.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/api.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/audit.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/auth.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/cinder.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/conductor.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/console.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/database.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/default.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/deploy.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/dhcp.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/drac.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/glance.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/healthcheck.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/ibmc.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/ilo.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/inspector.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/ipmi.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/irmc.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics_statsd.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/molds.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/neutron.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/nova.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/opts.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/pxe.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/redfish.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/service_catalog.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/snmp.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/swift.py -> build/lib/ironic/conf DEBUG util.py:445: copying ironic/conf/xclarity.py -> build/lib/ironic/conf DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/__init__.py -> build/lib/ironic DEBUG util.py:445: copying ironic/version.py -> build/lib/ironic DEBUG util.py:445: copying ironic/tests/unit/db/__init__.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/base.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_allocations.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_api.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_bios_settings.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_chassis.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_conductor.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_deploy_templates.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_history.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_tags.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_traits.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_nodes.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_portgroups.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_ports.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_connectors.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_targets.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/utils.py -> build/lib/ironic/tests/unit/db DEBUG util.py:445: copying ironic/drivers/__init__.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/base.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/drac.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/generic.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ibmc.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ilo.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/intel_ipmi.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/irmc.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/redfish.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/snmp.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/utils.py -> build/lib/ironic/drivers DEBUG util.py:445: copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers DEBUG util.py:445: creating build/lib/ironic/hacking DEBUG util.py:445: copying ironic/hacking/__init__.py -> build/lib/ironic/hacking DEBUG util.py:445: copying ironic/hacking/checks.py -> build/lib/ironic/hacking DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible DEBUG util.py:445: creating build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_collection.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_driver.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_event.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_node.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_port.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_root.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_versions.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: creating build/lib/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/external.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/noop.py -> build/lib/ironic/drivers/modules/storage DEBUG util.py:445: creating build/lib/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf DEBUG util.py:445: creating build/lib/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp DEBUG util.py:445: creating build/lib/ironic/tests/functional DEBUG util.py:445: copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional DEBUG util.py:445: creating build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/__init__.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/bios.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/boot.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/common.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/inspect.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/job.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/management.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/raid.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/utils.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib/ironic/drivers/modules/drac DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_job.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: creating build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/__init__.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/allocations.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/cleaning.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/deployments.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/manager.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/periodics.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/steps.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/utils.py -> build/lib/ironic/conductor DEBUG util.py:445: copying ironic/conductor/verify.py -> build/lib/ironic/conductor DEBUG util.py:445: creating build/lib/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/__init__.py -> build/lib/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/migration.py -> build/lib/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/models.py -> build/lib/ironic/db/sqlalchemy DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/__init__.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/management.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/mappings.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/power.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/raid.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/utils.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/vendor.py -> build/lib/ironic/drivers/modules/ibmc DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/__init__.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/bios.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/boot.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/common.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/console.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/inspect.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/management.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/power.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/raid.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/vendor.py -> build/lib/ironic/drivers/modules/ilo DEBUG util.py:445: creating build/lib/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/image_service.py -> build/lib/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service DEBUG util.py:445: creating build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/__init__.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/bios.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/boot.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/common.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/inspect.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/management.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/packaging_version.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/power.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/raid.py -> build/lib/ironic/drivers/modules/irmc DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: running egg_info DEBUG util.py:445: writing ironic.egg-info/PKG-INFO DEBUG util.py:445: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:445: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:445: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:445: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:445: [pbr] Reusing existing SOURCES.txt DEBUG util.py:445: copying ironic/tests/unit/api/test_acl_basic.yaml -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_legacy.yaml -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> build/lib/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> build/lib/ironic/tests/unit/api DEBUG util.py:445: creating build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: creating build/lib/ironic/tests/json_samples DEBUG util.py:445: copying ironic/tests/json_samples/network_data.json -> build/lib/ironic/tests/json_samples DEBUG util.py:445: copying ironic/tests/unit/drivers/boot-fallback.ipxe -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot.ipxe -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/agent_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/initial_grub_cfg.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/common/grub_conf.template -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/isolinux_config.template -> build/lib/ironic/common DEBUG util.py:445: copying ironic/drivers/raid_config_schema.json -> build/lib/ironic/drivers DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/inventory -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:445: creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic.ini -> build/lib/ironic/db/sqlalchemy DEBUG util.py:445: creating build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/README -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/env.py -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> build/lib/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:443: /usr/lib/python3.6/site-packages/pbr/core.py:131: UserWarning: Unknown distribution option: 'requires_python' DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: + sleep 1 DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.t9lM1i DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + '[' /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64 '!=' / ']' DEBUG util.py:445: + rm -rf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64 DEBUG util.py:443: ++ dirname /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64 DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT DEBUG util.py:445: + mkdir /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64 DEBUG util.py:445: + cd ironic-20.1.4.dev4 DEBUG util.py:445: + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' DEBUG util.py:445: + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' DEBUG util.py:445: + /usr/libexec/platform-python setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64 DEBUG util.py:445: running install DEBUG util.py:445: [pbr] Generating AUTHORS DEBUG util.py:445: [pbr] AUTHORS complete (0.0s) DEBUG util.py:445: running install_lib DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6 DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/verify.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/periodics.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking DEBUG util.py:445: copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking DEBUG util.py:445: copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking DEBUG util.py:445: copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic DEBUG util.py:445: copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/anaconda.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service DEBUG util.py:445: copying build/lib/ironic/common/glance_service/service_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service DEBUG util.py:445: copying build/lib/ironic/common/glance_service/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service DEBUG util.py:445: copying build/lib/ironic/common/glance_service/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service DEBUG util.py:445: copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/kickstart_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/indicator_states.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/components.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/args.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp DEBUG util.py:445: copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/env.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/README -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/models.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db DEBUG util.py:445: copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db DEBUG util.py:445: copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/singleprocess.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd DEBUG util.py:445: copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/raid_config_schema.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ks.cfg.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/initial_grub_cfg.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/packaging_version.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/firmware_processor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/console.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/vendor_passthru.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/job.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/drivers/modules/storage/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/drivers/modules/storage/external.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/drivers/modules/storage/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/inventory -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/clean.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/ansible.cfg -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/flat.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/xclarity/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/xclarity/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/xclarity/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/drivers/modules/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/pxe_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/image_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/firmware_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying build/lib/ironic/drivers/modules/intel_ipmi/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying build/lib/ironic/drivers/modules/intel_ipmi/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/json_samples/network_data.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/json_samples DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/functional DEBUG util.py:445: copying build/lib/ironic/tests/functional/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/functional DEBUG util.py:445: copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests DEBUG util.py:445: copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: copying build/lib/ironic/tests/unit/dhcp/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: copying build/lib/ironic/tests/unit/dhcp/test_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: copying build/lib/ironic/tests/unit/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf DEBUG util.py:445: copying build/lib/ironic/tests/unit/conf/test_auth.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf DEBUG util.py:445: copying build/lib/ironic/tests/unit/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf DEBUG util.py:445: copying build/lib/ironic/tests/unit/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/stubs.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/raid_constants.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/policy_fixture.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: copying build/lib/ironic/tests/unit/cmd/test_status.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: copying build/lib/ironic/tests/unit/cmd/test_dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: copying build/lib/ironic/tests/unit/cmd/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: copying build/lib/ironic/tests/unit/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_volume_targets.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_volume_connectors.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_ports.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_portgroups.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_nodes.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_node_traits.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_node_tags.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_bios_settings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/test_allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/sqlalchemy/test_types.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/sqlalchemy/test_models.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/sqlalchemy/test_migrations.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/sqlalchemy/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/tests/unit/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ks_missing_var.tmpl -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ks_extra_vars.tmpl -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ipxe_config_timeout.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/boot-fallback.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/third_party_driver_mocks.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_generic.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_drac.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/network/test_noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/network/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/network/test_flat.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/network/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_job.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_image_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_agent_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_agent_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/storage/test_external.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/storage/test_cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_console.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_trait.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_port.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_objects.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_notification.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_fields.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/test_allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: copying build/lib/ironic/tests/unit/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_verify.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_steps.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_periodics.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/test_allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/mgr_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: copying build/lib/ironic/tests/unit/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_swift.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_states.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_policy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_nova.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_network.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_molds.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_kickstart_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_images.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_glance_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_context.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/test_args.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: copying build/lib/ironic/tests/unit/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_rbac_system_scoped.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_rbac_project_scoped.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_rbac_legacy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_acl_basic.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_versions.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_root.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_port.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_event.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_driver.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_collection.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/test_allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_root.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_proxy_middleware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_ospmiddleware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_middleware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_method.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_functions.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_audit.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/test_acl.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/method.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/functions.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/middleware/parsable_error.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/middleware/json_ext.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/middleware/auth_public_routes.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware DEBUG util.py:445: copying build/lib/ironic/api/middleware/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/network-data-schema.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/volume.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/versions.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/port.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/event.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/driver.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/collection.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: copying build/lib/ironic/api/controllers/version.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/root.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/link.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/verify.py to verify.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/task_manager.py to task_manager.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/steps.py to steps.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/rpcapi.py to rpcapi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/periodics.py to periodics.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/notification_utils.py to notification_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/manager.py to manager.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/deployments.py to deployments.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/cleaning.py to cleaning.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/base_manager.py to base_manager.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/allocations.py to allocations.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking/checks.py to checks.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/version.py to version.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/xclarity.py to xclarity.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/swift.py to swift.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/snmp.py to snmp.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/service_catalog.py to service_catalog.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/redfish.py to redfish.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/pxe.py to pxe.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/opts.py to opts.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/nova.py to nova.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/neutron.py to neutron.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/molds.py to molds.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/metrics_statsd.py to metrics_statsd.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/metrics.py to metrics.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/irmc.py to irmc.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/ipmi.py to ipmi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/inspector.py to inspector.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/ilo.py to ilo.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/ibmc.py to ibmc.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/healthcheck.py to healthcheck.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/glance.py to glance.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/drac.py to drac.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/dhcp.py to dhcp.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/deploy.py to deploy.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/default.py to default.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/database.py to database.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/console.py to console.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/conductor.py to conductor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/cinder.py to cinder.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/auth.py to auth.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/audit.py to audit.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/api.py to api.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/ansible.py to ansible.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/anaconda.py to anaconda.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/agent.py to agent.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service/service_utils.py to service_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service/image_service.py to image_service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/wsgi_service.py to wsgi_service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/swift.py to swift.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/states.py to states.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/service.py to service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/rpc_service.py to rpc_service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/rpc.py to rpc.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/release_mappings.py to release_mappings.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/raid.py to raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/pxe_utils.py to pxe_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/profiler.py to profiler.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/policy.py to policy.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/nova.py to nova.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/neutron.py to neutron.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/network.py to network.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/molds.py to molds.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/kickstart_utils.py to kickstart_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/keystone.py to keystone.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/indicator_states.py to indicator_states.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/images.py to images.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/image_service.py to image_service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/i18n.py to i18n.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/hash_ring.py to hash_ring.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/fsm.py to fsm.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/faults.py to faults.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/exception.py to exception.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/driver_factory.py to driver_factory.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/dhcp_factory.py to dhcp_factory.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/context.py to context.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/config.py to config.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/components.py to components.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/cinder.py to cinder.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/boot_modes.py to boot_modes.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/boot_devices.py to boot_devices.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/args.py to args.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp/none.py to none.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp/neutron.py to neutron.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py to fb3f10dd262e_add_fault_to_node_table.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py to f6fdb920c182_set_pxe_enabled_true.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py to f190f9d00a11_add_node_owner.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py to e918ff30eb42_resize_column_nodes_instance_info.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py to e294876e8028_add_node_network_interface.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py to dd67b91a1981_add_allocations_table.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py to dd34e1f1303b_add_resource_class_to_node.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py to dbefd6bdaa2c_add_default_column_to_.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py to daa1ba02d98_add_volume_connectors_table.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py to d2b036ae9378_add_automated_clean_field.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py to cf1a80fdb352_add_node_network_data_field.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py to ce6c4b3cf5a2_add_allocation_owner.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py to cd2c80feb331_add_node_retired_field.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py to c1846a214450_add_boot_mode_and_secure_boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py to c14cef6dfedf_populate_node_network_interface.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py to c0455649680c_port_name.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py to bcdd431ba0bf_add_fields_for_all_interfaces.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py to bb59b63f55a_add_node_driver_internal_info.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py to b9117ac17882_add_node_deploy_step.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py to b4130a7fc904_create_nodetraits_table.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py to b2ad35726bb0_add_node_lessee.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py to ac00b586ab95_node_indexes.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py to 9ef41f07cb58_add_node_history_table.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py to 9cbeefa3763f_add_port_is_smartnic.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py to 93706939026c_add_node_protected_field.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py to 868cb606a74a_add_version_field_in_base_class.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py to 82c315d60161_add_bios_settings.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py to 789acc877671_add_raid_config.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py to 664f85c2f622_add_conductor_group_to_nodes_conductors.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py to 60cf717201bc_add_standalone_ports_supported.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py to 5ea1b0d310e_added_port_group_table_and_altered_ports.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py to 5674c57409b9_replace_nostate_with_available.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py to 516faf1bb9b1_resizing_column_nodes_driver.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py to 4f399b21ae71_add_node_clean_step.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py to 493d8f27f235_add_portgroup_configuration_fields.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py to 48d6c242bb9b_add_node_tags.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py to 487deb87cc9d_add_conductor_affinity_and_online.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py to 405cfe08f18d_add_rescue_interface_to_node.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py to 3d86a077a3f2_add_port_physical_network.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py to 3cb628139ea4_nodes_add_console_enabled.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py to 3bea56f25597_add_unique_constraint_to_instance_uuid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py to 3ae36a5f5131_add_logical_name.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py to 31baaf680d2b_add_node_instance_info.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py to 2fb93ffd2af1_increase_node_name_length.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py to 2d13bc3d6bba_add_bios_config_and_interface.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py to 2bbd96b6ccb9_add_bios_fields_from_registry.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py to 2aac7e0872f6_add_deploy_templates.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py to 28c44432c9c3_add_node_description.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py to 242cc6a923b3_add_node_maintenance_reason.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py to 2353895ecfae_add_conductor_hardware_interfaces_table.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py to 21b331f883ef_add_provision_updated_at.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py to 1e1d5ace7dc6_add_inspection_started_at_and_.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py to 1e15e7122cc9_add_extra_column_to_deploy_templates.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py to 1d6951876d68_add_storage_interface_db_field_and_.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py to 1a59178ebdf6_add_volume_targets_table.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py to 10b163d4481e_add_port_portgroup_internal_info.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/env.py to env.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/models.py to models.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/migration.py to migration.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/api.py to api.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/migration.py to migration.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/api.py to api.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/status.py to status.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/singleprocess.py to singleprocess.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/dbsync.py to dbsync.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/conductor.py to conductor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/api.py to api.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/volume_target.py to volume_target.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/volume_connector.py to volume_connector.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/trait.py to trait.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/portgroup.py to portgroup.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/port.py to port.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/notification.py to notification.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/node_history.py to node_history.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/node.py to node.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/indirection.py to indirection.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/fields.py to fields.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/deployment.py to deployment.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/deploy_template.py to deploy_template.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/conductor.py to conductor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/chassis.py to chassis.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/bios.py to bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/allocation.py to allocation.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/xclarity.py to xclarity.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/snmp.py to snmp.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/redfish.py to redfish.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/irmc.py to irmc.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/ipmi.py to ipmi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/intel_ipmi.py to intel_ipmi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/ilo.py to ilo.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/ibmc.py to ibmc.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/hardware_type.py to hardware_type.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/generic.py to generic.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/fake_hardware.py to fake_hardware.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/drac.py to drac.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/raid.py to raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/power.py to power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/packaging_version.py to packaging_version.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/management.py to management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/inspect.py to inspect.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/common.py to common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/boot.py to boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/bios.py to bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/vendor.py to vendor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/raid.py to raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/power.py to power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/management.py to management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/inspect.py to inspect.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/firmware_processor.py to firmware_processor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/console.py to console.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/common.py to common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/boot.py to boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/bios.py to bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/vendor.py to vendor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/raid.py to raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/power.py to power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/mappings.py to mappings.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/management.py to management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/vendor_passthru.py to vendor_passthru.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/raid.py to raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/power.py to power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/management.py to management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/job.py to job.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/inspect.py to inspect.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/common.py to common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/boot.py to boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/bios.py to bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/noop.py to noop.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/external.py to external.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/cinder.py to cinder.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library/stream_url.py to stream_url.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library/root_hints.py to root_hints.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py to facts_wwn.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py to ironic_log.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/deploy.py to deploy.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/noop.py to noop.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/neutron.py to neutron.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/flat.py to flat.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/common.py to common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/power.py to power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/management.py to management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/common.py to common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/snmp.py to snmp.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ramdisk.py to ramdisk.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/pxe_base.py to pxe_base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/pxe.py to pxe.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/noop_mgmt.py to noop_mgmt.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/noop.py to noop.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ipxe.py to ipxe.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ipmitool.py to ipmitool.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/inspector.py to inspector.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/inspect_utils.py to inspect_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/image_utils.py to image_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/image_cache.py to image_cache.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/fake.py to fake.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/deploy_utils.py to deploy_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/console_utils.py to console_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/boot_mode_utils.py to boot_mode_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent_power.py to agent_power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent_client.py to agent_client.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent_base.py to agent_base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent.py to agent.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/vendor.py to vendor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/raid.py to raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/power.py to power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/management.py to management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/inspect.py to inspect.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/firmware_utils.py to firmware_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/boot.py to boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/bios.py to bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi/management.py to management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/functional/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp/test_neutron.py to test_neutron.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp/test_factory.py to test_factory.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf/test_auth.py to test_auth.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/test_base.py to test_base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/stubs.py to stubs.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/raid_constants.py to raid_constants.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/policy_fixture.py to policy_fixture.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/test_status.py to test_status.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/test_dbsync.py to test_dbsync.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/test_conductor.py to test_conductor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_volume_targets.py to test_volume_targets.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_volume_connectors.py to test_volume_connectors.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_ports.py to test_ports.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_portgroups.py to test_portgroups.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_nodes.py to test_nodes.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_node_traits.py to test_node_traits.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_node_tags.py to test_node_tags.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_node_history.py to test_node_history.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_deploy_templates.py to test_deploy_templates.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_conductor.py to test_conductor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_chassis.py to test_chassis.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_bios_settings.py to test_bios_settings.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_api.py to test_api.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_allocations.py to test_allocations.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/test_models.py to test_models.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/test_migrations.py to test_migrations.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/test_api.py to test_api.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/third_party_driver_mocks.py to third_party_driver_mocks.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/third_party_driver_mock_specs.py to third_party_driver_mock_specs.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_xclarity.py to test_xclarity.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_utils.py to test_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_snmp.py to test_snmp.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_redfish.py to test_redfish.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_irmc.py to test_irmc.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_ipmi.py to test_ipmi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_ilo.py to test_ilo.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_ibmc.py to test_ibmc.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_generic.py to test_generic.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_fake_hardware.py to test_fake_hardware.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_drac.py to test_drac.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_base.py to test_base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/test_noop.py to test_noop.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/test_neutron.py to test_neutron.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/test_flat.py to test_flat.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/test_common.py to test_common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_utils.py to test_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_raid.py to test_raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_power.py to test_power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py to test_periodic_task.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_management.py to test_management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_job.py to test_job.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_inspect.py to test_inspect.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_common.py to test_common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_boot.py to test_boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_bios.py to test_bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_vendor.py to test_vendor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_utils.py to test_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_raid.py to test_raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_power.py to test_power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_management.py to test_management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_inspect.py to test_inspect.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py to test_firmware_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_boot.py to test_boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_bios.py to test_bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py to test_management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py to test_intel_ipmi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_snmp.py to test_snmp.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_ramdisk.py to test_ramdisk.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_pxe.py to test_pxe.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_noop_mgmt.py to test_noop_mgmt.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_noop.py to test_noop.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_ipxe.py to test_ipxe.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_ipmitool.py to test_ipmitool.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_inspector.py to test_inspector.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_inspect_utils.py to test_inspect_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_image_utils.py to test_image_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_image_cache.py to test_image_cache.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_deploy_utils.py to test_deploy_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_console_utils.py to test_console_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py to test_boot_mode_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent_power.py to test_agent_power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent_client.py to test_agent_client.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent_base.py to test_agent_base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent.py to test_agent.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage/test_external.py to test_external.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage/test_cinder.py to test_cinder.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_power.py to test_power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_management.py to test_management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_common.py to test_common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible/test_deploy.py to test_deploy.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py to test_vendor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_utils.py to test_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_raid.py to test_raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_power.py to test_power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_management.py to test_management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_raid.py to test_raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_power.py to test_power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py to test_periodic_task.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_management.py to test_management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_inspect.py to test_inspect.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_common.py to test_common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_boot.py to test_boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_bios.py to test_bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_vendor.py to test_vendor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_raid.py to test_raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_power.py to test_power.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_management.py to test_management.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_inspect.py to test_inspect.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py to test_firmware_processor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_console.py to test_console.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_common.py to test_common.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_boot.py to test_boot.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_bios.py to test_bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_volume_target.py to test_volume_target.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_volume_connector.py to test_volume_connector.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_trait.py to test_trait.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_portgroup.py to test_portgroup.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_port.py to test_port.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_objects.py to test_objects.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_notification.py to test_notification.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_node_history.py to test_node_history.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_node.py to test_node.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_fields.py to test_fields.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_deployment.py to test_deployment.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_deploy_template.py to test_deploy_template.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_conductor.py to test_conductor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_chassis.py to test_chassis.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_bios.py to test_bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_allocation.py to test_allocation.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_verify.py to test_verify.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_utils.py to test_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_task_manager.py to test_task_manager.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_steps.py to test_steps.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_periodics.py to test_periodics.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_notification_utils.py to test_notification_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_manager.py to test_manager.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_deployments.py to test_deployments.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_cleaning.py to test_cleaning.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_base_manager.py to test_base_manager.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_allocations.py to test_allocations.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/mgr_utils.py to mgr_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_wsgi_service.py to test_wsgi_service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_utils.py to test_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_swift.py to test_swift.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_states.py to test_states.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_rpc_service.py to test_rpc_service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_rpc.py to test_rpc.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_release_mappings.py to test_release_mappings.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_raid.py to test_raid.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_pxe_utils.py to test_pxe_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_policy.py to test_policy.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_nova.py to test_nova.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_neutron.py to test_neutron.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_network.py to test_network.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_molds.py to test_molds.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_kickstart_utils.py to test_kickstart_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_keystone.py to test_keystone.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_images.py to test_images.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_image_service.py to test_image_service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_hash_ring.py to test_hash_ring.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_glance_service.py to test_glance_service.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_fsm.py to test_fsm.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_driver_factory.py to test_driver_factory.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_context.py to test_context.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_cinder.py to test_cinder.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_args.py to test_args.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_target.py to test_volume_target.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_connector.py to test_volume_connector.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_volume.py to test_volume.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_versions.py to test_versions.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_root.py to test_root.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_ramdisk.py to test_ramdisk.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_portgroup.py to test_portgroup.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_port.py to test_port.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_notification_utils.py to test_notification_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_node.py to test_node.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_event.py to test_event.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_driver.py to test_driver.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_deploy_template.py to test_deploy_template.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_conductor.py to test_conductor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_collection.py to test_collection.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_chassis.py to test_chassis.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_allocation.py to test_allocation.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/test_base.py to test_base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_root.py to test_root.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_proxy_middleware.py to test_proxy_middleware.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_ospmiddleware.py to test_ospmiddleware.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_middleware.py to test_middleware.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_method.py to test_method.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_hooks.py to test_hooks.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_healthcheck.py to test_healthcheck.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_functions.py to test_functions.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_audit.py to test_audit.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_acl.py to test_acl.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/wsgi.py to wsgi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/method.py to method.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/hooks.py to hooks.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/functions.py to functions.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/config.py to config.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/app.py to app.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware/parsable_error.py to parsable_error.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware/json_ext.py to json_ext.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware/auth_public_routes.py to auth_public_routes.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/volume_target.py to volume_target.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/volume_connector.py to volume_connector.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/volume.py to volume.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/versions.py to versions.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/utils.py to utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/ramdisk.py to ramdisk.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/portgroup.py to portgroup.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/port.py to port.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/notification_utils.py to notification_utils.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/node.py to node.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/event.py to event.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/driver.py to driver.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/deploy_template.py to deploy_template.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/conductor.py to conductor.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/collection.py to collection.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/chassis.py to chassis.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/bios.py to bios.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/allocation.py to allocation.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/version.py to version.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/root.py to root.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/link.py to link.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/base.py to base.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: writing byte-compilation script '/tmp/tmp8sb7uarq.py' DEBUG util.py:445: /usr/libexec/platform-python /tmp/tmp8sb7uarq.py DEBUG util.py:445: removing /tmp/tmp8sb7uarq.py DEBUG util.py:445: running install_data DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc/ironic/rootwrap.d DEBUG util.py:445: copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc/ironic/rootwrap.d/ DEBUG util.py:445: running install_egg_info DEBUG util.py:445: running egg_info DEBUG util.py:445: writing ironic.egg-info/PKG-INFO DEBUG util.py:445: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:445: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:445: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:445: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:445: [pbr] Reusing existing SOURCES.txt DEBUG util.py:445: Copying ironic.egg-info to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic-20.1.4.dev4-py3.6.egg-info DEBUG util.py:445: running install_scripts DEBUG util.py:445: Installing ironic script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/bin DEBUG util.py:443: /usr/lib/python3.6/site-packages/pbr/core.py:131: UserWarning: Unknown distribution option: 'requires_python' DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/etc/logrotate.d/openstack-ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/systemd/system DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/systemd/system DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/systemd/system DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-dnsmasq-tftp-server.service /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/systemd/system DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic.service /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/systemd/system DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/etc/sudoers.d DEBUG util.py:445: + install -p -D -m 440 /builddir/build/SOURCES/ironic-sudoers /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/etc/sudoers.d/ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/var/lib/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/var/log/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/etc/ironic/rootwrap.d DEBUG util.py:445: + export PYTHONPATH=. DEBUG util.py:445: + PYTHONPATH=. DEBUG util.py:445: + oslo-config-generator --config-file tools/config/ironic-config-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64//etc/ironic/ironic.conf DEBUG util.py:445: + oslopolicy-sample-generator --config-file tools/policy/ironic-policy-generator.conf DEBUG util.py:445: + mv /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64//etc/ironic/rootwrap.conf DEBUG util.py:445: + mv /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64//etc/ironic/rootwrap.d/ DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc/ironic/rootwrap.d DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/etc/ironic DEBUG util.py:445: + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64//usr/share/ironic/ironic-dist.conf DEBUG util.py:445: + install -p -D -m 644 /builddir/build/SOURCES/dnsmasq-tftp-server.conf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64//etc/ironic/dnsmasq-tftp-server.conf DEBUG util.py:445: + /usr/lib/rpm/find-debuginfo.sh -j4 --strict-build-id -m -i --build-id-seed 20.1.4-0.20240318104900.ee848a8.el8 --unique-debug-suffix -20.1.4-0.20240318104900.ee848a8.el8.x86_64 --unique-debug-src-base openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/ironic-20.1.4.dev4 DEBUG util.py:443: find: 'debug': No such file or directory DEBUG util.py:445: + /usr/lib/rpm/check-buildroot DEBUG util.py:445: + /usr/lib/rpm/redhat/brp-ldconfig DEBUG util.py:443: /sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/etc/ld.so.conf: No such file or directory DEBUG util.py:445: + /usr/lib/rpm/brp-compress DEBUG util.py:445: + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip DEBUG util.py:445: + /usr/lib/rpm/brp-python-bytecompile '' 1 DEBUG util.py:445: Bytecompiling .py files below /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6 using /usr/libexec/platform-python DEBUG util.py:445: + /usr/lib/rpm/brp-python-hardlink DEBUG util.py:445: + PYTHON3=/usr/libexec/platform-python DEBUG util.py:445: + /usr/lib/rpm/redhat/brp-mangle-shebangs DEBUG util.py:445: Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.XU9ETp DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-20.1.4.dev4 DEBUG util.py:445: + PYTHON=/usr/libexec/platform-python DEBUG util.py:445: + stestr run DEBUG util.py:445: 2024-03-18 10:50:38.471 3898 INFO keyring.backend [-] Loading KWallet DEBUG util.py:445: 2024-03-18 10:50:38.472 3898 INFO keyring.backend [-] Loading SecretService DEBUG util.py:445: 2024-03-18 10:50:38.529 3898 INFO keyring.backend [-] Loading Windows DEBUG util.py:445: 2024-03-18 10:50:38.530 3898 INFO keyring.backend [-] Loading chainer DEBUG util.py:445: 2024-03-18 10:50:38.530 3898 INFO keyring.backend [-] Loading macOS DEBUG util.py:445: 2024-03-18 10:50:39.298 3897 INFO keyring.backend [-] Loading KWallet DEBUG util.py:445: 2024-03-18 10:50:39.300 3897 INFO keyring.backend [-] Loading SecretService DEBUG util.py:445: 2024-03-18 10:50:39.304 3897 INFO keyring.backend [-] Loading Windows DEBUG util.py:445: 2024-03-18 10:50:39.305 3897 INFO keyring.backend [-] Loading chainer DEBUG util.py:445: 2024-03-18 10:50:39.305 3897 INFO keyring.backend [-] Loading macOS DEBUG util.py:445: 2024-03-18 10:50:39.388 3899 INFO keyring.backend [-] Loading KWallet DEBUG util.py:445: 2024-03-18 10:50:39.390 3899 INFO keyring.backend [-] Loading SecretService DEBUG util.py:445: 2024-03-18 10:50:39.400 3899 INFO keyring.backend [-] Loading Windows DEBUG util.py:445: 2024-03-18 10:50:39.400 3899 INFO keyring.backend [-] Loading chainer DEBUG util.py:445: 2024-03-18 10:50:39.401 3899 INFO keyring.backend [-] Loading macOS DEBUG util.py:445: 2024-03-18 10:50:39.412 3896 INFO keyring.backend [-] Loading KWallet DEBUG util.py:445: 2024-03-18 10:50:39.413 3896 INFO keyring.backend [-] Loading SecretService DEBUG util.py:445: 2024-03-18 10:50:39.425 3896 INFO keyring.backend [-] Loading Windows DEBUG util.py:445: 2024-03-18 10:50:39.426 3896 INFO keyring.backend [-] Loading chainer DEBUG util.py:445: 2024-03-18 10:50:39.427 3896 INFO keyring.backend [-] Loading macOS DEBUG util.py:445: 2024-03-18 10:50:43.817 3898 INFO alembic.runtime.migration [req-1a8c1fe1-397f-4ad0-a56e-2b638b9ab057 - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2024-03-18 10:50:43.818 3898 INFO alembic.runtime.migration [req-1a8c1fe1-397f-4ad0-a56e-2b638b9ab057 - - - - -] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.328268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.036417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.037829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.058162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.039583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.144323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.070182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.049639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.060241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.051423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.058255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.040662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.067201s] ... ok DEBUG util.py:445: 2024-03-18 10:50:44.664 3897 INFO alembic.runtime.migration [req-1de50d4b-0112-4db1-9281-18d8d585774f - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2024-03-18 10:50:44.665 3897 INFO alembic.runtime.migration [req-1de50d4b-0112-4db1-9281-18d8d585774f - - - - -] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.071604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.047803s] ... ok DEBUG util.py:445: GET: /v1/bad/path {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: DELETE: /v1/allocations/alloc1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-99875669-065c-470d-8f13-c697f8878bca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/allocations/blah DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0620974-59a0-4c4c-a6eb-813efc322b06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/1d44aeab-d505-425b-af32-2a914da5e308 {} DEBUG util.py:445: GOT:{'uuid': '1d44aeab-d505-425b-af32-2a914da5e308', 'created_at': '2024-03-18T10:50:44.336911+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1d44aeab-d505-425b-af32-2a914da5e308', 'rel': 'self'}, {'href': 'http://localhost/allocations/1d44aeab-d505-425b-af32-2a914da5e308', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/node/d5196c41-f956-4799-9d61-51d13d92f7de/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra {} DEBUG util.py:445: GOT:{'extra': {}, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/256fddee-590a-440d-b59d-57be0b5bb02c', 'rel': 'self'}, {'href': 'http://localhost/allocations/256fddee-590a-440d-b59d-57be0b5bb02c', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations?fields=node_uuid&limit=2 {} DEBUG util.py:445: GOT:{'allocations': [{'links': [{'href': 'http://localhost/v1/allocations/597390b7-fa4a-45b6-9946-22c4a76cbbc4', 'rel': 'self'}, {'href': 'http://localhost/allocations/597390b7-fa4a-45b6-9946-22c4a76cbbc4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'links': [{'href': 'http://localhost/v1/allocations/5df1562d-45ec-4290-91c4-1d22a60c1a6c', 'rel': 'self'}, {'href': 'http://localhost/allocations/5df1562d-45ec-4290-91c4-1d22a60c1a6c', '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=5df1562d-45ec-4290-91c4-1d22a60c1a6c'} DEBUG util.py:445: GET: /v1/allocations/89eb3c4a-0706-4564-90de-e8821d2d26a8 {} DEBUG util.py:445: GOT:{'uuid': '89eb3c4a-0706-4564-90de-e8821d2d26a8', 'created_at': '2024-03-18T10:50:44.550936+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/89eb3c4a-0706-4564-90de-e8821d2d26a8', 'rel': 'self'}, {'href': 'http://localhost/allocations/89eb3c4a-0706-4564-90de-e8821d2d26a8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c {} DEBUG util.py:445: GOT:{'uuid': 'a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'created_at': '2024-03-18T10:50:44.593993+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'rel': 'self'}, {'href': 'http://localhost/allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c {} DEBUG util.py:445: GOT:{'uuid': 'a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'created_at': '2024-03-18T10:50:44.593993+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'rel': 'self'}, {'href': 'http://localhost/allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c {} DEBUG util.py:445: GOT:{'uuid': 'a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'created_at': '2024-03-18T10:50:44.593993+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'rel': 'self'}, {'href': 'http://localhost/allocations/a7898fc1-d37b-4164-aff8-82ebeb0f543c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0ffa159-d6e6-4497-85d8-05d1d4d815cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ed5f77c-c349-4511-aa92-6f6962cbb745 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?sort_key=internal_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fca73c50-dec4-453d-a35b-4c02b312d7e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"internal_info\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?sort_key=properties {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8d5a1f0-f2b6-4426-9312-c390683cff96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/8c4a081f-8c3d-4ccf-9b76-043edc880859 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fe54845-c066-4ab5-a464-c5288f290e6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8c4a081f-8c3d-4ccf-9b76-043edc880859", "created_at": "2024-03-18T10:50:44.729924+00:00", "updated_at": "2024-03-18T10:50:44.747574+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/8c4a081f-8c3d-4ccf-9b76-043edc880859", "rel": "self"}, {"href": "http://localhost/allocations/8c4a081f-8c3d-4ccf-9b76-043edc880859", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: PATCH: /v1/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53 [{'path': '/extra/foo2', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-153ece0c-c23f-4311-867e-0a753b96a1ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "c6ab8640-ac49-472a-8fc6-a17ad29ede53", "created_at": "2024-03-18T10:50:44.788380+00:00", "updated_at": "2024-03-18T10:50:44.798337+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/c6ab8640-ac49-472a-8fc6-a17ad29ede53", "rel": "self"}, {"href": "http://localhost/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53", "rel": "bookmark"}], "node_uuid": null}{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.153267s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.105588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.413730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.023580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.216726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.140001s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.098598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.034244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.026042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.030765s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.088469s] ... ok DEBUG util.py:445: 2024-03-18 10:50:45.242 3896 INFO alembic.runtime.migration [req-5bf50d9f-a766-44dd-acbc-138a98c2bacc - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2024-03-18 10:50:45.251 3896 INFO alembic.runtime.migration [req-5bf50d9f-a766-44dd-acbc-138a98c2bacc - - - - -] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.031381s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.071035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.043984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.292489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.081069s] ... ok DEBUG util.py:445: GET: /v1/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53 {} DEBUG util.py:445: GOT:{'uuid': 'c6ab8640-ac49-472a-8fc6-a17ad29ede53', 'created_at': '2024-03-18T10:50:44.788380+00:00', 'updated_at': '2024-03-18T10:50:44.798337+00:00', 'candidate_nodes': [], 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53', 'rel': 'self'}, {'href': 'http://localhost/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53 [{'path': '/extra', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f2cb38d-a3ff-40aa-993d-365a9f58ee2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "c6ab8640-ac49-472a-8fc6-a17ad29ede53", "created_at": "2024-03-18T10:50:44.788380+00:00", "updated_at": "2024-03-18T10:50:44.894657+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53", "rel": "self"}, {"href": "http://localhost/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53 {} DEBUG util.py:445: GOT:{'uuid': 'c6ab8640-ac49-472a-8fc6-a17ad29ede53', 'created_at': '2024-03-18T10:50:44.788380+00:00', 'updated_at': '2024-03-18T10:50:44.894657+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53', 'rel': 'self'}, {'href': 'http://localhost/allocations/c6ab8640-ac49-472a-8fc6-a17ad29ede53', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/91e708dd-7c8d-4b4e-9be8-29674a045f9e [{'path': '/owner', 'value': '54321', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63c19547-ee6c-4d0a-bde6-b7d67c1cf65f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /owner. Only the following can be updated: name, extra\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c6798cfb-cce8-43af-b926-b8886b6b3053', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/c6798cfb-cce8-43af-b926-b8886b6b3053 DEBUG util.py:445: Openstack-Request-Id: req-27f4ad8b-842d-4f00-800c-636477b725d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "c6798cfb-cce8-43af-b926-b8886b6b3053", "created_at": "2024-03-18T10:50:45.106602+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/c6798cfb-cce8-43af-b926-b8886b6b3053", "rel": "self"}, {"href": "http://localhost/allocations/c6798cfb-cce8-43af-b926-b8886b6b3053", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/c6798cfb-cce8-43af-b926-b8886b6b3053 {} DEBUG util.py:445: GOT:{'uuid': 'c6798cfb-cce8-43af-b926-b8886b6b3053', 'created_at': '2024-03-18T10:50:45.106602+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c6798cfb-cce8-43af-b926-b8886b6b3053', 'rel': 'self'}, {'href': 'http://localhost/allocations/c6798cfb-cce8-43af-b926-b8886b6b3053', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '79af3570-2d5e-4e67-9e08-2e6e1c810d6f', 'owner': None} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0180158d-4720-47eb-8d41-43117ba0a3c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a470ba4b-8083-445c-946c-85269efc50ec', 'owner': None} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8f799c02-8e8a-494f-8cfd-2ef5d132e11f', 'owner': None} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7667cc93-fde0-4c8a-a296-f48be892c6f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': 'f4dca15d-dfff-4a77-bd81-3ba961c64107', 'owner': None} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66f75c4c-f00d-4bfe-bd99-19db0521b2b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd9269065-e838-4dbc-9a0f-a36bc0e9a6a8', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/d9269065-e838-4dbc-9a0f-a36bc0e9a6a8 DEBUG util.py:445: Openstack-Request-Id: req-aa236fa5-867e-4d47-a29e-fe5cbc8393f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d9269065-e838-4dbc-9a0f-a36bc0e9a6a8", "created_at": "2024-03-18T10:50:45.305055+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/d9269065-e838-4dbc-9a0f-a36bc0e9a6a8", "rel": "self"}, {"href": "http://localhost/allocations/d9269065-e838-4dbc-9a0f-a36bc0e9a6a8", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/d9269065-e838-4dbc-9a0f-a36bc0e9a6a8 {} DEBUG util.py:445: GOT:{'uuid': 'd9269065-e838-4dbc-9a0f-a36bc0e9a6a8', 'created_at': '2024-03-18T10:50:45.305055+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'foo', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/d9269065-e838-4dbc-9a0f-a36bc0e9a6a8', 'rel': 'self'}, {'href': 'http://localhost/allocations/d9269065-e838-4dbc-9a0f-a36bc0e9a6a8', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2940367c-277a-4e3b-9d50-dd2d83f10d26', 'owner': None}{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.038093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.083289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.177344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.158389s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.038366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.046361s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.100434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.034088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.046079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.042338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.059149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.036696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.084842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.141230s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.062542s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.088218s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/2940367c-277a-4e3b-9d50-dd2d83f10d26 DEBUG util.py:445: Openstack-Request-Id: req-619dea13-663c-44d3-9a7d-caa34a0cbfca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "2940367c-277a-4e3b-9d50-dd2d83f10d26", "created_at": "2024-03-18T10:50:45.345153+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/2940367c-277a-4e3b-9d50-dd2d83f10d26", "rel": "self"}, {"href": "http://localhost/allocations/2940367c-277a-4e3b-9d50-dd2d83f10d26", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/2940367c-277a-4e3b-9d50-dd2d83f10d26 {} DEBUG util.py:445: GOT:{'uuid': '2940367c-277a-4e3b-9d50-dd2d83f10d26', 'created_at': '2024-03-18T10:50:45.345153+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '123456', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/2940367c-277a-4e3b-9d50-dd2d83f10d26', 'rel': 'self'}, {'href': 'http://localhost/allocations/2940367c-277a-4e3b-9d50-dd2d83f10d26', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '484b3103-2514-46c1-8b56-fa52ad08d7ff', 'owner': '12345'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65047d1c-7054-4f0e-aa3b-a4f15aae98e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with an owner Project ID value 12345 not matching the requestor Project ID 0987. Policy baremetal:allocation:create_restricted is required for this capability.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'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': '967b1df9-a615-4545-b3f0-609f443f9ecf', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/967b1df9-a615-4545-b3f0-609f443f9ecf DEBUG util.py:445: Openstack-Request-Id: req-eb43897b-0179-47d6-83cd-c8ddaaa4ef79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "967b1df9-a615-4545-b3f0-609f443f9ecf", "created_at": "2024-03-18T10:50:45.542330+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": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/967b1df9-a615-4545-b3f0-609f443f9ecf", "rel": "self"}, {"href": "http://localhost/allocations/967b1df9-a615-4545-b3f0-609f443f9ecf", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/967b1df9-a615-4545-b3f0-609f443f9ecf {} DEBUG util.py:445: GOT:{'uuid': '967b1df9-a615-4545-b3f0-609f443f9ecf', 'created_at': '2024-03-18T10:50:45.542330+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/967b1df9-a615-4545-b3f0-609f443f9ecf', 'rel': 'self'}, {'href': 'http://localhost/allocations/967b1df9-a615-4545-b3f0-609f443f9ecf', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['node-1', '12a54839-47c5-43e1-84c4-40713779e447'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0a270516-77a3-4118-9dda-8339cd7ab504', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/0a270516-77a3-4118-9dda-8339cd7ab504 DEBUG util.py:445: Openstack-Request-Id: req-00cd9fb5-2929-4760-b060-6e946fb20c03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "0a270516-77a3-4118-9dda-8339cd7ab504", "created_at": "2024-03-18T10:50:45.588607+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "12a54839-47c5-43e1-84c4-40713779e447"], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0a270516-77a3-4118-9dda-8339cd7ab504", "rel": "self"}, {"href": "http://localhost/allocations/0a270516-77a3-4118-9dda-8339cd7ab504", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/0a270516-77a3-4118-9dda-8339cd7ab504 {} DEBUG util.py:445: GOT:{'uuid': '0a270516-77a3-4118-9dda-8339cd7ab504', 'created_at': '2024-03-18T10:50:45.588607+00:00', 'updated_at': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '12a54839-47c5-43e1-84c4-40713779e447'], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/0a270516-77a3-4118-9dda-8339cd7ab504', 'rel': 'self'}, {'href': 'http://localhost/allocations/0a270516-77a3-4118-9dda-8339cd7ab504', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe DEBUG util.py:445: Openstack-Request-Id: req-064e3e30-1f59-462d-863e-5dae9bca217e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.59 DEBUG util.py:445: {"uuid": "6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe", "created_at": "2024-03-18T10:50:45.630259+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/6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe", "rel": "self"}, {"href": "http://localhost/allocations/6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe {} DEBUG util.py:445: GOT:{'uuid': '6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe', 'created_at': '2024-03-18T10:50:45.630259+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe', 'rel': 'self'}, {'href': 'http://localhost/allocations/6eda1a92-4fbc-4fc6-91fd-0240f7b32fbe', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2ef24444-5959-499e-9534-f98ed9d82a38', 'owner': '54321'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fdbeec27-2c16-49e6-a9d4-9e250661fade DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:45.726847+00:00', 'updated_at': None, '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_chassis.TestListChassis.test_detail [0.072359s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.064202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.042284s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.075585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.085705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.044609s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.060344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.043191s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.046950s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.031201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.092368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.036112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.041911s] ... ok DEBUG util.py:445: DELETE: /v1/allocations/ba!na!na1 DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: DELETE: /v1/nodes/037f3133-fe95-414e-810c-5770241edf61/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfd59803-0d0d-47ce-a0fd-204e8b5eec9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 037f3133-fe95-414e-810c-5770241edf61 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/95f30130-82a0-4e43-bf12-306d67cd5b10 {} DEBUG util.py:445: GOT:{'uuid': '95f30130-82a0-4e43-bf12-306d67cd5b10', 'created_at': '2024-03-18T10:50:45.205987+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/95f30130-82a0-4e43-bf12-306d67cd5b10', 'rel': 'self'}, {'href': 'http://localhost/allocations/95f30130-82a0-4e43-bf12-306d67cd5b10', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': []} DEBUG util.py:445: GET: /v1/allocations?node=node-1 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'a246a935-0394-428c-89a9-6d16bbaef697', 'created_at': '2024-03-18T10:50:45.345694+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/a246a935-0394-428c-89a9-6d16bbaef697', 'rel': 'self'}, {'href': 'http://localhost/allocations/a246a935-0394-428c-89a9-6d16bbaef697', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6aa5d2be-3f46-43e9-8af4-d0b0f2b2a2dd', 'created_at': '2024-03-18T10:50:45.346839+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6aa5d2be-3f46-43e9-8af4-d0b0f2b2a2dd', 'rel': 'self'}, {'href': 'http://localhost/allocations/6aa5d2be-3f46-43e9-8af4-d0b0f2b2a2dd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e6f9b0f3-82ef-4773-81f3-eb414512f6a4', 'created_at': '2024-03-18T10:50:45.347926+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/e6f9b0f3-82ef-4773-81f3-eb414512f6a4', 'rel': 'self'}, {'href': 'http://localhost/allocations/e6f9b0f3-82ef-4773-81f3-eb414512f6a4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'f66972f4-a402-4f28-8717-6e051ccfbbb1', 'created_at': '2024-03-18T10:50:45.444343+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/f66972f4-a402-4f28-8717-6e051ccfbbb1', 'rel': 'self'}, {'href': 'http://localhost/allocations/f66972f4-a402-4f28-8717-6e051ccfbbb1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/allocations?owner=12345 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '0f4de056-d443-42dc-bfc0-f1ee23ab3556', 'created_at': '2024-03-18T10:50:45.546721+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/0f4de056-d443-42dc-bfc0-f1ee23ab3556', 'rel': 'self'}, {'href': 'http://localhost/allocations/0f4de056-d443-42dc-bfc0-f1ee23ab3556', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '1da6ef61-2d98-476a-a12c-d6b9a4301250', 'created_at': '2024-03-18T10:50:45.548284+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1da6ef61-2d98-476a-a12c-d6b9a4301250', 'rel': 'self'}, {'href': 'http://localhost/allocations/1da6ef61-2d98-476a-a12c-d6b9a4301250', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'b3ae9194-636f-40f7-b0af-44f33d24211f', 'created_at': '2024-03-18T10:50:45.560812+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/b3ae9194-636f-40f7-b0af-44f33d24211f', 'rel': 'self'}, {'href': 'http://localhost/allocations/b3ae9194-636f-40f7-b0af-44f33d24211f', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/allocations?owner=12345 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdda46b2-b884-4277-b33a-e0fa6704090d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.59 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?fields=uuid,extra {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '6ab75093-f9f3-4b31-81a7-ec113e9322b0', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/6ab75093-f9f3-4b31-81a7-ec113e9322b0', 'rel': 'self'}, {'href': 'http://localhost/allocations/6ab75093-f9f3-4b31-81a7-ec113e9322b0', 'rel': 'bookmark'}]}, {'uuid': '7a03d84f-7c51-4d7c-b840-460a85a1de44', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/7a03d84f-7c51-4d7c-b840-460a85a1de44', 'rel': 'self'}, {'href': 'http://localhost/allocations/7a03d84f-7c51-4d7c-b840-460a85a1de44', 'rel': 'bookmark'}]}, {'uuid': '9fb6ff28-ea12-4bac-ac7e-7e7c781aa994', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/9fb6ff28-ea12-4bac-ac7e-7e7c781aa994', 'rel': 'self'}, {'href': 'http://localhost/allocations/9fb6ff28-ea12-4bac-ac7e-7e7c781aa994', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/allocations/6a1647e7-515c-4352-b8cb-0f73606f4c77?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-501cd33a-7923-4624-911b-bd9675fa8f2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/c3280674-195d-4663-97ae-0de390cb317e?fields=resource_class,extra {} DEBUG util.py:445: GOT:{'extra': {}, 'resource_class': 'baremetal', 'links': [{'href': 'http://localhost/v1/allocations/c3280674-195d-4663-97ae-0de390cb317e', 'rel': 'self'}, {'href': 'http://localhost/allocations/c3280674-195d-4663-97ae-0de390cb317e', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations/53f5fbfa-286f-489b-a54e-9588160c813b {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: GET: /v1/allocations/c863a61b-2b79-422a-ba28-74d1a7087bb7.json {} DEBUG util.py:445: GOT:{'uuid': 'c863a61b-2b79-422a-ba28-74d1a7087bb7', 'created_at': '2024-03-18T10:50:45.971213+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c863a61b-2b79-422a-ba28-74d1a7087bb7', 'rel': 'self'}, {'href': 'http://localhost/allocations/c863a61b-2b79-422a-ba28-74d1a7087bb7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/7f429a35-1a35-4e46-86bf-713b403357cb {}{1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.105758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.074880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.173776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.115142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.054250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.109692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.066714s] ... ok DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8c6b512-3f37-4d74-aa18-b29042144707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?detail=True&fields=description {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-622062bc-bacc-4353-92ae-527b6996da01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?detail=False&fields=description {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/chassis?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aaeb62b4-f32d-4dc9-a513-6ac503872cce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:45.985423+00:00', 'updated_at': None, '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'}]]} DEBUG util.py:445: GET: /v1/chassis/nodes {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c521114-8ec4-4297-89a4-990026a0c0d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?sort_key=uuid {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '28de02ff-7a8d-494c-8b19-1b9f03466c51', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/28de02ff-7a8d-494c-8b19-1b9f03466c51', 'rel': 'self'}, {'href': 'http://localhost/chassis/28de02ff-7a8d-494c-8b19-1b9f03466c51', 'rel': 'bookmark'}]}, {'uuid': '8e5738b2-b707-4497-a4a9-1668297d8032', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8e5738b2-b707-4497-a4a9-1668297d8032', 'rel': 'self'}, {'href': 'http://localhost/chassis/8e5738b2-b707-4497-a4a9-1668297d8032', 'rel': 'bookmark'}]}, {'uuid': 'bfdf9489-f0a3-49db-95c7-ba2efb827abc', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/bfdf9489-f0a3-49db-95c7-ba2efb827abc', 'rel': 'self'}, {'href': 'http://localhost/chassis/bfdf9489-f0a3-49db-95c7-ba2efb827abc', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2 [{'path': '/extra/foo2', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-410f55a4-e197-48a8-952d-ab068ef280c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "c80c0817-25df-41ee-b7e8-0538977f60c2", "created_at": "2024-03-18T10:50:46.114349+00:00", "updated_at": "2024-03-18T10:50:46.133666+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2", "rel": "self"}, {"href": "http://localhost/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2 {} DEBUG util.py:445: GOT:{'uuid': 'c80c0817-25df-41ee-b7e8-0538977f60c2', 'created_at': '2024-03-18T10:50:46.114349+00:00', 'updated_at': '2024-03-18T10:50:46.133666+00:00', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2', 'rel': 'self'}, {'href': 'http://localhost/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: PATCH: /v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2 [{'path': '/extra', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49681984-e085-48b3-a027-6d073675ea58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "c80c0817-25df-41ee-b7e8-0538977f60c2", "created_at": "2024-03-18T10:50:46.114349+00:00", "updated_at": "2024-03-18T10:50:46.162265+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2", "rel": "self"}, {"href": "http://localhost/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2 {} DEBUG util.py:445: GOT:{'uuid': 'c80c0817-25df-41ee-b7e8-0538977f60c2', 'created_at': '2024-03-18T10:50:46.114349+00:00', 'updated_at': '2024-03-18T10:50:46.162265+00:00', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2', 'rel': 'self'}, {'href': 'http://localhost/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c80c0817-25df-41ee-b7e8-0538977f60c2/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: PATCH: /v1/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0 [{'path': '/description', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b90c5ab5-29bb-4078-bf7a-44b4ed0a596d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "bbf14d2b-68d8-4f01-8ef1-984c7e929dc0", "created_at": "2024-03-18T10:50:46.261337+00:00", "updated_at": "2024-03-18T10:50:46.284534+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0", "rel": "self"}, {"href": "http://localhost/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0/nodes", "rel": "self"}, {"href": "http://localhost/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0 {} DEBUG util.py:445: GOT:{'uuid': 'bbf14d2b-68d8-4f01-8ef1-984c7e929dc0', 'created_at': '2024-03-18T10:50:46.261337+00:00', 'updated_at': '2024-03-18T10:50:46.284534+00:00', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0', 'rel': 'self'}, {'href': 'http://localhost/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/bbf14d2b-68d8-4f01-8ef1-984c7e929dc0/nodes', 'rel': 'bookmark'}]]}{2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.114715s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.095801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.114702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.054492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.217142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.121682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.036282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.094841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.049621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.051438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.092422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.033899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.056356s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.075215s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.033964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.090965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.036043s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.109497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.036276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.043983s] ... ok DEBUG util.py:445: GOT:{'uuid': '7f429a35-1a35-4e46-86bf-713b403357cb', 'created_at': '2024-03-18T10:50:46.028865+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'pg.1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/7f429a35-1a35-4e46-86bf-713b403357cb', 'rel': 'self'}, {'href': 'http://localhost/allocations/7f429a35-1a35-4e46-86bf-713b403357cb', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations?sort_key=uuid {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '1b3bfcc2-9850-4141-b55e-9fc725d9ba27', 'created_at': '2024-03-18T10:50:46.148709+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1b3bfcc2-9850-4141-b55e-9fc725d9ba27', 'rel': 'self'}, {'href': 'http://localhost/allocations/1b3bfcc2-9850-4141-b55e-9fc725d9ba27', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '649d0ea1-bef4-40df-a7b4-5b9325fe70b1', 'created_at': '2024-03-18T10:50:46.131285+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/649d0ea1-bef4-40df-a7b4-5b9325fe70b1', 'rel': 'self'}, {'href': 'http://localhost/allocations/649d0ea1-bef4-40df-a7b4-5b9325fe70b1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '9cb553bf-7be8-4374-9c54-5ed070136326', 'created_at': '2024-03-18T10:50:46.132462+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/9cb553bf-7be8-4374-9c54-5ed070136326', 'rel': 'self'}, {'href': 'http://localhost/allocations/9cb553bf-7be8-4374-9c54-5ed070136326', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: PATCH: /v1/allocations/8e1b4d0f-f891-430d-b313-f1f613b4f1af [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7b48f15-bb03-4cae-9b7e-b02ec2904455 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/allocations/4a1af583-537d-4eee-868e-833a0f334eeb [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d128cdf-9001-4836-94e0-6a15af043ffb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4a1af583-537d-4eee-868e-833a0f334eeb", "created_at": "2024-03-18T10:50:46.256584+00:00", "updated_at": "2024-03-18T10:50:46.271267+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/4a1af583-537d-4eee-868e-833a0f334eeb", "rel": "self"}, {"href": "http://localhost/allocations/4a1af583-537d-4eee-868e-833a0f334eeb", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/4a1af583-537d-4eee-868e-833a0f334eeb {} DEBUG util.py:445: GOT:{'uuid': '4a1af583-537d-4eee-868e-833a0f334eeb', 'created_at': '2024-03-18T10:50:46.256584+00:00', 'updated_at': '2024-03-18T10:50:46.271267+00:00', 'candidate_nodes': [], 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/4a1af583-537d-4eee-868e-833a0f334eeb', 'rel': 'self'}, {'href': 'http://localhost/allocations/4a1af583-537d-4eee-868e-833a0f334eeb', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/321d01f4-4422-4f49-8383-7b54484aaa8e [{'path': '/name', 'value': 'new', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7674dcc-4e20-41e9-97d9-15aeb3ee972d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/15beab7b-e4ae-48fb-a88e-7d1df88d14b5 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca61ef70-32d0-44f0-a558-735186eedc5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.56 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The API version does not allow updating allocations\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9096fee7-314f-4201-9f87-5494978be701 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.57 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot set node when creating an allocation in this API version\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/fdd86fa9-35df-40ba-a9a5-5d2c86e84a40 DEBUG util.py:445: Openstack-Request-Id: req-b4f4d899-d73e-48bc-9e17-d29ba9d72477 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "fdd86fa9-35df-40ba-a9a5-5d2c86e84a40", "created_at": "2024-03-18T10:50:46.652642+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/fdd86fa9-35df-40ba-a9a5-5d2c86e84a40", "rel": "self"}, {"href": "http://localhost/allocations/fdd86fa9-35df-40ba-a9a5-5d2c86e84a40", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/fdd86fa9-35df-40ba-a9a5-5d2c86e84a40 {} DEBUG util.py:445: GOT:{'uuid': 'fdd86fa9-35df-40ba-a9a5-5d2c86e84a40', 'created_at': '2024-03-18T10:50:46.652642+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'bm-super', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/fdd86fa9-35df-40ba-a9a5-5d2c86e84a40', 'rel': 'self'}, {'href': 'http://localhost/allocations/fdd86fa9-35df-40ba-a9a5-5d2c86e84a40', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d DEBUG util.py:445: Openstack-Request-Id: req-d6bfb63d-a1f3-49fa-bba0-4a7780375295 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d", "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/f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d", "rel": "self"}, {"href": "http://localhost/allocations/f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d", "rel": "bookmark"}], "node_uuid": null}{1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.072274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.086553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.058741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.061392s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.145548s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.102286s] ... ok DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1fa57d56-6c54-49a2-82f4-6ddb573c52b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: DELETE: /v1/allocations/f09880b2-e5ef-463d-893e-5ff96b6e0787 DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: DELETE: /v1/allocations/112acaf4-6b5a-49f3-83dd-3c36eee44190 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f74d07ea-f7d3-45dd-943b-ee6aae160d4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fe1db4d-acb5-4e05-8ff5-7ea0ae434e8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.59 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: GET: /v1/node/90c0a2bb-8b71-47f3-9240-ddcd7e6d9007/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/allocations/?limit=3 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '9307263f-c52e-454d-a29d-db076bc6086c', 'created_at': '2024-03-18T10:50:46.128711+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/9307263f-c52e-454d-a29d-db076bc6086c', 'rel': 'self'}, {'href': 'http://localhost/allocations/9307263f-c52e-454d-a29d-db076bc6086c', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '9443babc-1315-4a6b-acb8-e4e445a850eb', 'created_at': '2024-03-18T10:50:46.129958+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/9443babc-1315-4a6b-acb8-e4e445a850eb', 'rel': 'self'}, {'href': 'http://localhost/allocations/9443babc-1315-4a6b-acb8-e4e445a850eb', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '4e37f384-6496-4570-aa44-4d6aecc48b34', 'created_at': '2024-03-18T10:50:46.141027+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/4e37f384-6496-4570-aa44-4d6aecc48b34', 'rel': 'self'}, {'href': 'http://localhost/allocations/4e37f384-6496-4570-aa44-4d6aecc48b34', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=4e37f384-6496-4570-aa44-4d6aecc48b34'} DEBUG util.py:445: GET: /v1/allocations?fields=uuid,extra {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '2813da0e-6835-4a54-9176-5e7c4540a4c5', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/2813da0e-6835-4a54-9176-5e7c4540a4c5', 'rel': 'self'}, {'href': 'http://localhost/allocations/2813da0e-6835-4a54-9176-5e7c4540a4c5', 'rel': 'bookmark'}]}, {'uuid': '68dcab1b-06b5-4c09-84a0-440999a50342', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/68dcab1b-06b5-4c09-84a0-440999a50342', 'rel': 'self'}, {'href': 'http://localhost/allocations/68dcab1b-06b5-4c09-84a0-440999a50342', 'rel': 'bookmark'}]}, {'uuid': '79bfcc1c-d477-4d8f-9ec1-36c5fe3cfb58', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/79bfcc1c-d477-4d8f-9ec1-36c5fe3cfb58', 'rel': 'self'}, {'href': 'http://localhost/allocations/79bfcc1c-d477-4d8f-9ec1-36c5fe3cfb58', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=79bfcc1c-d477-4d8f-9ec1-36c5fe3cfb58'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '55e34aea-0081-42da-b004-bcf892fae0cf', 'created_at': '2024-03-18T10:50:46.351352+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/55e34aea-0081-42da-b004-bcf892fae0cf', 'rel': 'self'}, {'href': 'http://localhost/allocations/55e34aea-0081-42da-b004-bcf892fae0cf', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '073ad8ea-6b92-4fc3-86be-c2cd8cf2e676', 'created_at': '2024-03-18T10:50:46.352490+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/073ad8ea-6b92-4fc3-86be-c2cd8cf2e676', 'rel': 'self'}, {'href': 'http://localhost/allocations/073ad8ea-6b92-4fc3-86be-c2cd8cf2e676', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'fa30e557-fb98-4095-bd66-9fbdd7f7a38c', 'created_at': '2024-03-18T10:50:46.362709+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/fa30e557-fb98-4095-bd66-9fbdd7f7a38c', 'rel': 'self'}, {'href': 'http://localhost/allocations/fa30e557-fb98-4095-bd66-9fbdd7f7a38c', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=fa30e557-fb98-4095-bd66-9fbdd7f7a38c'} DEBUG util.py:445: GET: /v1/allocations?node=banana {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1ec43e1-e76d-4385-9454-a3984c345754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/70a84e4a-929a-4257-9aa5-074fe86405d2 {} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Allow: DELETE, GET DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/allocations/ba!na!na! {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: GET: /v1/allocations/0dd4ccde-1bb8-4cf4-88be-84b4f8789adb?fields=owner {} DEBUG util.py:445: GOT:{'owner': '12345', 'links': [{'href': 'http://localhost/v1/allocations/0dd4ccde-1bb8-4cf4-88be-84b4f8789adb', 'rel': 'self'}, {'href': 'http://localhost/allocations/0dd4ccde-1bb8-4cf4-88be-84b4f8789adb', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'dbbbf1fc-be52-409a-9312-2eb0b35b51a9', 'created_at': '2024-03-18T10:50:46.844302+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/dbbbf1fc-be52-409a-9312-2eb0b35b51a9', 'rel': 'self'}, {'href': 'http://localhost/allocations/dbbbf1fc-be52-409a-9312-2eb0b35b51a9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '520e6d8f-1bf8-4574-91d3-fe8ae87f7e5a', 'created_at': '2024-03-18T10:50:46.854633+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/520e6d8f-1bf8-4574-91d3-fe8ae87f7e5a', 'rel': 'self'}, {'href': 'http://localhost/allocations/520e6d8f-1bf8-4574-91d3-fe8ae87f7e5a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7159391c-2f3c-472c-9e59-93b85043bbe9', 'created_at': '2024-03-18T10:50:46.856248+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/7159391c-2f3c-472c-9e59-93b85043bbe9', 'rel': 'self'}, {'href': 'http://localhost/allocations/7159391c-2f3c-472c-9e59-93b85043bbe9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c8931fa0-55bd-43f0-aafe-2c94835d54c2', 'created_at': '2024-03-18T10:50:46.857384+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation3', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c8931fa0-55bd-43f0-aafe-2c94835d54c2', 'rel': 'self'}, {'href': 'http://localhost/allocations/c8931fa0-55bd-43f0-aafe-2c94835d54c2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '14fd201f-c4aa-4fdd-8f94-00012cdd1411', 'created_at': '2024-03-18T10:50:46.858446+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation4', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/14fd201f-c4aa-4fdd-8f94-00012cdd1411', 'rel': 'self'}, {'href': 'http://localhost/allocations/14fd201f-c4aa-4fdd-8f94-00012cdd1411', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]}{0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.131449s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.093735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.048021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.029139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.047909s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.027883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.029456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.170647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.167508s] ... ok DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'chassis-new-description', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c91a265-fa20-4df7-832f-4f1627f9412a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:50:46.364993+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"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:46.364993+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'}]]} DEBUG util.py:445: PATCH: /v1/chassis/9298cfd3-a1a4-4864-85c6-3ddaad2c542c [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc692963-1cd0-4c76-b666-9c0883574cb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 9298cfd3-a1a4-4864-85c6-3ddaad2c542c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/chassis {'extra': {}, 'description': 'data-center-1-chassis'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/e3fd1003-3428-4e09-ad20-1a026cdeea4c DEBUG util.py:445: Openstack-Request-Id: req-f920c9d7-3b62-4600-a780-c4111bac85c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e3fd1003-3428-4e09-ad20-1a026cdeea4c", "created_at": "2024-03-18T10:50:46.525431+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e3fd1003-3428-4e09-ad20-1a026cdeea4c", "rel": "self"}, {"href": "http://localhost/chassis/e3fd1003-3428-4e09-ad20-1a026cdeea4c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e3fd1003-3428-4e09-ad20-1a026cdeea4c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e3fd1003-3428-4e09-ad20-1a026cdeea4c/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e3fd1003-3428-4e09-ad20-1a026cdeea4c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e3fd1003-3428-4e09-ad20-1a026cdeea4c', 'rel': 'self'}, {'href': 'http://localhost/chassis/e3fd1003-3428-4e09-ad20-1a026cdeea4c', 'rel': 'bookmark'}]}]} DEBUG util.py:445: POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b3efca8-e038-4a3d-a1db-7eae824fe80e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors/?limit=3 {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': 'f77fc4ed-a0ac-487a-bb66-ebfa826caf12', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/f77fc4ed-a0ac-487a-bb66-ebfa826caf12', 'rel': 'self'}, {'href': 'http://localhost/conductors/f77fc4ed-a0ac-487a-bb66-ebfa826caf12', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '5c141a17-af80-40e4-bd6a-89e0ca0743b3', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/5c141a17-af80-40e4-bd6a-89e0ca0743b3', 'rel': 'self'}, {'href': 'http://localhost/conductors/5c141a17-af80-40e4-bd6a-89e0ca0743b3', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'd38d69f4-f9cb-485c-81f4-658009490864', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/d38d69f4-f9cb-485c-81f4-658009490864', 'rel': 'self'}, {'href': 'http://localhost/conductors/d38d69f4-f9cb-485c-81f4-658009490864', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=d38d69f4-f9cb-485c-81f4-658009490864'} DEBUG util.py:445: GET: /v1/conductors?fields=hostname,alive {} DEBUG util.py:445: GOT:{'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}]} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-03-18T10:50:46.815674+00:00', 'updated_at': '2024-03-18T10:50:46.815438+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} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-03-18T10:50:46.851080+00:00', 'updated_at': '2024-03-18T10:50:46.850838+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} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-03-18T10:50:46.851080+00:00', 'updated_at': '2024-03-18T10:50:46.850838+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} DEBUG util.py:445: GET: /conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-03-18T10:50:46.851080+00:00', 'updated_at': '2024-03-18T10:50:46.850838+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} DEBUG util.py:445: GET: /v1/conductors?sort_key=alive {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc1e3b30-c120-4313-878b-47d4a3de48fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value alive is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors?sort_key=drivers {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06b74251-2800-4696-b89a-3fb017eb68a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.035885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.050463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.131963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.109123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.076896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.150898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.089765s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.108665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.065013s] ... ok DEBUG util.py:445: 2024-03-18 10:50:47.473 3899 INFO alembic.runtime.migration [req-87deae0e-0087-479c-a928-b8cac65377ff - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2024-03-18 10:50:47.498 3899 INFO alembic.runtime.migration [req-87deae0e-0087-479c-a928-b8cac65377ff - - - - -] Will assume non-transactional DDL. DEBUG util.py:445: GET: /v1/allocations?sort_key=name {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '1581cc2b-2438-4de4-b8bd-d85145dd7caa', 'created_at': '2024-03-18T10:50:46.977262+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1581cc2b-2438-4de4-b8bd-d85145dd7caa', 'rel': 'self'}, {'href': 'http://localhost/allocations/1581cc2b-2438-4de4-b8bd-d85145dd7caa', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '42f74498-c411-403d-817d-544bff340bd7', 'created_at': '2024-03-18T10:50:46.976216+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/42f74498-c411-403d-817d-544bff340bd7', 'rel': 'self'}, {'href': 'http://localhost/allocations/42f74498-c411-403d-817d-544bff340bd7', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '1c39bd4a-4172-4263-9b99-7180a761e42a', 'created_at': '2024-03-18T10:50:46.975078+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation3', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1c39bd4a-4172-4263-9b99-7180a761e42a', 'rel': 'self'}, {'href': 'http://localhost/allocations/1c39bd4a-4172-4263-9b99-7180a761e42a', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: PATCH: /v1/allocations/2e96f24c-ece3-4204-9153-431b5a875d87 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16e5dc30-43bd-45fc-989a-e61678913fc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "2e96f24c-ece3-4204-9153-431b5a875d87", "created_at": "2024-03-18T10:50:47.023502+00:00", "updated_at": "2024-03-18T10:50:47.040498+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/2e96f24c-ece3-4204-9153-431b5a875d87", "rel": "self"}, {"href": "http://localhost/allocations/2e96f24c-ece3-4204-9153-431b5a875d87", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/2e96f24c-ece3-4204-9153-431b5a875d87 {} DEBUG util.py:445: GOT:{'uuid': '2e96f24c-ece3-4204-9153-431b5a875d87', 'created_at': '2024-03-18T10:50:47.023502+00:00', 'updated_at': '2024-03-18T10:50:47.040498+00:00', 'candidate_nodes': [], 'extra': {'foo1': 'bar1', 'foo2': 'bar2'}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/2e96f24c-ece3-4204-9153-431b5a875d87', 'rel': 'self'}, {'href': 'http://localhost/allocations/2e96f24c-ece3-4204-9153-431b5a875d87', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/486811c1-9774-4271-9915-f47ec455d8f9 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a460f878-2c58-4616-af49-61d324294ab5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: name, extra\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/7bbd963d-ebd4-4667-8733-a30f86135ee3 [{'path': '/extra/a', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f43fd04-02a7-47c6-9a92-490908f9ac78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7bbd963d-ebd4-4667-8733-a30f86135ee3", "created_at": "2024-03-18T10:50:47.103086+00:00", "updated_at": "2024-03-18T10:50:47.114033+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7bbd963d-ebd4-4667-8733-a30f86135ee3", "rel": "self"}, {"href": "http://localhost/allocations/7bbd963d-ebd4-4667-8733-a30f86135ee3", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/7bbd963d-ebd4-4667-8733-a30f86135ee3 {} DEBUG util.py:445: GOT:{'uuid': '7bbd963d-ebd4-4667-8733-a30f86135ee3', 'created_at': '2024-03-18T10:50:47.103086+00:00', 'updated_at': '2024-03-18T10:50:47.114033+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/7bbd963d-ebd4-4667-8733-a30f86135ee3', 'rel': 'self'}, {'href': 'http://localhost/allocations/7bbd963d-ebd4-4667-8733-a30f86135ee3', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/e2b5b217-8561-49c5-90db-1cb84bb337bf [{'path': '/name', 'value': 'b', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c346920e-72ac-4438-9078-eaebc53269d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e2b5b217-8561-49c5-90db-1cb84bb337bf could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b38475bd-8ac9-4914-a393-790d52cc39b6', 'owner': None, 'node': 'cfe60010-cfbe-4403-93ad-ad396097e47e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-479e9632-c1cb-4987-8c1e-09ce2e8699b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node cfe60010-cfbe-4403-93ad-ad396097e47e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'dec40a8f-8900-4de1-83df-8b45c4c1edd9', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/dec40a8f-8900-4de1-83df-8b45c4c1edd9 DEBUG util.py:445: Openstack-Request-Id: req-789921b2-1017-4bce-a5c8-28eb437a41ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dec40a8f-8900-4de1-83df-8b45c4c1edd9", "created_at": "2024-03-18T10:50:47.341659+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/dec40a8f-8900-4de1-83df-8b45c4c1edd9", "rel": "self"}, {"href": "http://localhost/allocations/dec40a8f-8900-4de1-83df-8b45c4c1edd9", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/dec40a8f-8900-4de1-83df-8b45c4c1edd9 {} DEBUG util.py:445: GOT:{'uuid': 'dec40a8f-8900-4de1-83df-8b45c4c1edd9', 'created_at': '2024-03-18T10:50:47.341659+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {'foo': 123}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/dec40a8f-8900-4de1-83df-8b45c4c1edd9', 'rel': 'self'}, {'href': 'http://localhost/allocations/dec40a8f-8900-4de1-83df-8b45c4c1edd9', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8bcd3dd9-7faa-49ce-bcb7-f1a852c64e00', 'owner': None} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7974d6ab-604d-46b8-bcd4-5ae7749ea92c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.033753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.043006s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.041372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.032498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.028581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.045540s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.043739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.032545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.513171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.067806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.031348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.035781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.069724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.041734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.248305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.042061s] ... ok DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a90dfdfa-11bc-43e4-b372-5346eb8d53d2', 'owner': None} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57ec7a8a-ef16-474e-8955-7ef2ac3901fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '73fb6947-a188-49ad-af2c-a8dbaf69617f', 'owner': '12345'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/73fb6947-a188-49ad-af2c-a8dbaf69617f DEBUG util.py:445: Openstack-Request-Id: req-105cb9d2-015c-4269-a3f1-f33682041d1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "73fb6947-a188-49ad-af2c-a8dbaf69617f", "created_at": "2024-03-18T10:50:47.460688+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/73fb6947-a188-49ad-af2c-a8dbaf69617f", "rel": "self"}, {"href": "http://localhost/allocations/73fb6947-a188-49ad-af2c-a8dbaf69617f", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/73fb6947-a188-49ad-af2c-a8dbaf69617f {} DEBUG util.py:445: GOT:{'uuid': '73fb6947-a188-49ad-af2c-a8dbaf69617f', 'created_at': '2024-03-18T10:50:47.460688+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/73fb6947-a188-49ad-af2c-a8dbaf69617f', 'rel': 'self'}, {'href': 'http://localhost/allocations/73fb6947-a188-49ad-af2c-a8dbaf69617f', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8c732be3-b797-46dd-a1f2-6abda2343e3b', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca948117-1a9c-4035-b02a-7b1fdb231a09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6724a3ad-9eb2-47c8-9c8f-b8cea6c715b9', 'owner': None} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77dd6310-5c24-46a8-b4f5-4040f129dd4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd017620f-b73e-4161-aeff-0c28dce654be', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/d017620f-b73e-4161-aeff-0c28dce654be DEBUG util.py:445: Openstack-Request-Id: req-db0e447a-b381-4aed-b5b3-56387f394695 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"uuid": "d017620f-b73e-4161-aeff-0c28dce654be", "created_at": "2024-03-18T10:50:47.569007+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/d017620f-b73e-4161-aeff-0c28dce654be", "rel": "self"}, {"href": "http://localhost/allocations/d017620f-b73e-4161-aeff-0c28dce654be", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/d017620f-b73e-4161-aeff-0c28dce654be {} DEBUG util.py:445: GOT:{'uuid': 'd017620f-b73e-4161-aeff-0c28dce654be', 'created_at': '2024-03-18T10:50:47.569007+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/d017620f-b73e-4161-aeff-0c28dce654be', 'rel': 'self'}, {'href': 'http://localhost/allocations/d017620f-b73e-4161-aeff-0c28dce654be', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5d2a9244-45a5-4b15-8356-6e5983f56823 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac5a289d-ce64-4de4-af5c-429f2122ceb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?fields=extra,uuid {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '9849dfe4-397d-4c46-aaa3-ee8d90eeff07', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/9849dfe4-397d-4c46-aaa3-ee8d90eeff07', 'rel': 'self'}, {'href': 'http://localhost/chassis/9849dfe4-397d-4c46-aaa3-ee8d90eeff07', 'rel': 'bookmark'}]}, {'uuid': 'e07978ba-881f-474c-8883-b123669163ae', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e07978ba-881f-474c-8883-b123669163ae', 'rel': 'self'}, {'href': 'http://localhost/chassis/e07978ba-881f-474c-8883-b123669163ae', 'rel': 'bookmark'}]}, {'uuid': '4e854d37-999e-4dc1-bd80-6a126df87038', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/4e854d37-999e-4dc1-bd80-6a126df87038', 'rel': 'self'}, {'href': 'http://localhost/chassis/4e854d37-999e-4dc1-bd80-6a126df87038', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=4e854d37-999e-4dc1-bd80-6a126df87038'} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '7a2d94c0-fbc5-40de-b576-5af374efd724', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/7a2d94c0-fbc5-40de-b576-5af374efd724', 'rel': 'self'}, {'href': 'http://localhost/chassis/7a2d94c0-fbc5-40de-b576-5af374efd724', 'rel': 'bookmark'}]}, {'uuid': 'cb625a4a-7814-467e-94e9-9290633ae535', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/cb625a4a-7814-467e-94e9-9290633ae535', 'rel': 'self'}, {'href': 'http://localhost/chassis/cb625a4a-7814-467e-94e9-9290633ae535', 'rel': 'bookmark'}]}, {'uuid': '8be2457a-19df-45ae-a2af-ddcf2be2a93d', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8be2457a-19df-45ae-a2af-ddcf2be2a93d', 'rel': 'self'}, {'href': 'http://localhost/chassis/8be2457a-19df-45ae-a2af-ddcf2be2a93d', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=8be2457a-19df-45ae-a2af-ddcf2be2a93d'} DEBUG util.py:445: GET: /v1/chassis?detail=True {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:47.726200+00:00', 'updated_at': None, '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_chassis.TestListChassis.test_detail_query [0.043949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.038465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.077552s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.037233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.093393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.065311s] ... ok DEBUG util.py:445: GET: /v1/allocations/f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d {} DEBUG util.py:445: GOT:{'uuid': 'f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d', 'rel': 'self'}, {'href': 'http://localhost/allocations/f99fbf56-5f4a-40aa-adf0-9dd32e71ed2d', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/8d6b1d7a-54fb-4ac6-934d-3f477043c39c DEBUG util.py:445: Openstack-Request-Id: req-8e281ff6-3e9c-48c7-baa5-224193f4be6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8d6b1d7a-54fb-4ac6-934d-3f477043c39c", "created_at": "2024-03-18T10:50:46.817153+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/8d6b1d7a-54fb-4ac6-934d-3f477043c39c", "rel": "self"}, {"href": "http://localhost/allocations/8d6b1d7a-54fb-4ac6-934d-3f477043c39c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/8d6b1d7a-54fb-4ac6-934d-3f477043c39c {} DEBUG util.py:445: GOT:{'uuid': '8d6b1d7a-54fb-4ac6-934d-3f477043c39c', 'created_at': '2024-03-18T10:50:46.817153+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/8d6b1d7a-54fb-4ac6-934d-3f477043c39c', 'rel': 'self'}, {'href': 'http://localhost/allocations/8d6b1d7a-54fb-4ac6-934d-3f477043c39c', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': 'bda7aef7-7ccc-4043-b31c-425381f2caeb', 'owner': None} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-883dfb08-7589-4334-a84c-835edae4c5da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource_class field is mandatory when not backfilling\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '872342dd-2a2d-407e-b114-298ebd8de315', 'owner': None} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Allow: DELETE, GET DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-715fa9e2-97f7-456b-bda4-d2962e731c5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecc03b2e-8d64-4302-9859-0a8c1e6a1a1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/chassis?detail=False {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/chassis?fields=uuid,extra {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e70d1700-46da-44b9-854b-73163cfad6b5', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e70d1700-46da-44b9-854b-73163cfad6b5', 'rel': 'self'}, {'href': 'http://localhost/chassis/e70d1700-46da-44b9-854b-73163cfad6b5', 'rel': 'bookmark'}]}, {'uuid': 'ec1fa7e1-7808-471a-8ade-7c146e510f67', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/ec1fa7e1-7808-471a-8ade-7c146e510f67', 'rel': 'self'}, {'href': 'http://localhost/chassis/ec1fa7e1-7808-471a-8ade-7c146e510f67', 'rel': 'bookmark'}]}, {'uuid': 'dee4550c-4fbd-4dd8-be3f-6046561ae0e6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/dee4550c-4fbd-4dd8-be3f-6046561ae0e6', 'rel': 'self'}, {'href': 'http://localhost/chassis/dee4550c-4fbd-4dd8-be3f-6046561ae0e6', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '6c709670-645b-45be-8c72-1929d7bf13bf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6c709670-645b-45be-8c72-1929d7bf13bf', 'rel': 'self'}, {'href': 'http://localhost/nodes/6c709670-645b-45be-8c72-1929d7bf13bf', 'rel': 'bookmark'}]}, {'uuid': '76b40cdd-5139-4abc-8bcb-d47d94039d92', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/76b40cdd-5139-4abc-8bcb-d47d94039d92', 'rel': 'self'}, {'href': 'http://localhost/nodes/76b40cdd-5139-4abc-8bcb-d47d94039d92', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '6c709670-645b-45be-8c72-1929d7bf13bf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6c709670-645b-45be-8c72-1929d7bf13bf', 'rel': 'self'}, {'href': 'http://localhost/nodes/6c709670-645b-45be-8c72-1929d7bf13bf', '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=6c709670-645b-45be-8c72-1929d7bf13bf'} DEBUG util.py:445: GET: /v1/chassis?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d700bfd-c961-4dac-bfeb-5dcdf51ace98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18cb14ac-0d50-4f8b-a344-9afbe0ac5e5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'test', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd2aa23f-19f6-4cae-badc-58bb2bee71db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:50:47.826766+00:00", "updated_at": "2024-03-18T10:50:47.840145+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"}]]}{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.058504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.068286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.069038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.089702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.059343s] ... ok DEBUG util.py:445: DELETE: /v1/deploy_templates/CUSTOM_DT1 DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: GET: /v1/deploy_templates/?limit=3 {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'fec8f646-50b4-400a-ba34-c9a3152a0d3b', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/fec8f646-50b4-400a-ba34-c9a3152a0d3b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/fec8f646-50b4-400a-ba34-c9a3152a0d3b', 'rel': 'bookmark'}]}, {'uuid': 'ac2e0b7a-fe69-4d6e-a473-8faacd3cbcde', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/ac2e0b7a-fe69-4d6e-a473-8faacd3cbcde', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ac2e0b7a-fe69-4d6e-a473-8faacd3cbcde', 'rel': 'bookmark'}]}, {'uuid': '19ec642c-c7f4-4245-b2f4-6b204b51369e', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/19ec642c-c7f4-4245-b2f4-6b204b51369e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/19ec642c-c7f4-4245-b2f4-6b204b51369e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=19ec642c-c7f4-4245-b2f4-6b204b51369e'} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=name&detail=True {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '329a074f-6135-4491-9877-4832d98cc094', 'created_at': '2024-03-18T10:50:47.187651+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/329a074f-6135-4491-9877-4832d98cc094', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/329a074f-6135-4491-9877-4832d98cc094', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '418e30a8-c6ac-4a8e-9b00-9838bf444384', 'created_at': '2024-03-18T10:50:47.156860+00:00', 'updated_at': None, 'name': 'CUSTOM_DT2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/418e30a8-c6ac-4a8e-9b00-9838bf444384', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/418e30a8-c6ac-4a8e-9b00-9838bf444384', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '2ef9c255-3b15-47d7-8cc2-0f09603b5cc6', 'created_at': '2024-03-18T10:50:47.155193+00:00', 'updated_at': None, 'name': 'CUSTOM_DT3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/2ef9c255-3b15-47d7-8cc2-0f09603b5cc6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/2ef9c255-3b15-47d7-8cc2-0f09603b5cc6', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?detail=True&fields=name {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d06f4376-1fed-488a-84e7-8451c34ab88f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/deploy_templates?fields=name&limit=2 {} DEBUG util.py:445: GOT:{'deploy_templates': [{'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/1c4a677e-b2ec-4742-bc6a-4838fd79e5bc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1c4a677e-b2ec-4742-bc6a-4838fd79e5bc', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d93714e2-66df-4d90-9bcc-ac0150709fe4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d93714e2-66df-4d90-9bcc-ac0150709fe4', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=d93714e2-66df-4d90-9bcc-ac0150709fe4'} DEBUG util.py:445: GET: /v1/deploy_templates/ba93b18a-1ac6-4198-9c89-7270deed5936?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47a2ffd5-1432-4ea6-8e5d-fa5ad85171e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/deploy_templates/423ad93c-13b1-4e73-9792-7669451c39fe {} DEBUG util.py:445: GOT:{'uuid': '423ad93c-13b1-4e73-9792-7669451c39fe', 'created_at': '2024-03-18T10:50:47.576077+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/423ad93c-13b1-4e73-9792-7669451c39fe', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/423ad93c-13b1-4e73-9792-7669451c39fe', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/d81f63d7-eaea-48d6-a4c6-5514a14e6396?fields=name,steps {} DEBUG util.py:445: GOT:{'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d81f63d7-eaea-48d6-a4c6-5514a14e6396', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d81f63d7-eaea-48d6-a4c6-5514a14e6396', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/9fae795b-446c-4f3b-9a12-9533140a7502.json {} DEBUG util.py:445: GOT:{'uuid': '9fae795b-446c-4f3b-9a12-9533140a7502', 'created_at': '2024-03-18T10:50:47.702824+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/9fae795b-446c-4f3b-9a12-9533140a7502', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9fae795b-446c-4f3b-9a12-9533140a7502', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=uuid {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '1ee17b29-05e9-4bbd-b01b-531b42062813', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/1ee17b29-05e9-4bbd-b01b-531b42062813', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1ee17b29-05e9-4bbd-b01b-531b42062813', 'rel': 'bookmark'}]}, {'uuid': '8aed43e1-a3fc-444f-9f48-f6eb6e7b4d07', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/8aed43e1-a3fc-444f-9f48-f6eb6e7b4d07', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8aed43e1-a3fc-444f-9f48-f6eb6e7b4d07', 'rel': 'bookmark'}]}, {'uuid': 'de4d212e-7197-457e-8d10-11726c67c6b1', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/de4d212e-7197-457e-8d10-11726c67c6b1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/de4d212e-7197-457e-8d10-11726c67c6b1', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/6d1b8d6a-7c64-4eca-9c72-04619cacf92b [{'path': '/steps/0/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9441d182-9941-44ce-ac97-2d01a1310d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/7ed482bf-736e-42ae-9b25-0d9b710e6953 [{'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}]}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b2ddbc6-53b6-44a1-94ee-5a29f856abb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A deploy 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_deploy_template.TestPatch.test_replace_duplicate_step [0.035828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.031499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.028777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.039795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.084109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.197676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.145480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.082500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.089450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.035149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.049483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.096345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.042962s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.081657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.038980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.044476s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.086441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.052413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.116544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.036223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.072139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.084461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.044374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.086438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.036214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.082362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.031359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.088367s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.112388s] ... ok DEBUG util.py:445: PATCH: /v1/deploy_templates/5ec6d5bc-4f2f-4f01-8ccb-f89d8499d3f2 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/CUSTOM_DT1.json [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66b9ab4a-b139-4b60-b61d-d6110765cf16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b8027c5a-4e3e-4cef-9fea-785538acea41", "created_at": "2024-03-18T10:50:48.002877+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b8027c5a-4e3e-4cef-9fea-785538acea41", "rel": "self"}, {"href": "http://localhost/deploy_templates/b8027c5a-4e3e-4cef-9fea-785538acea41", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/dc6d5ef0-4db7-4508-9730-184581cb09c6 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-905e77c0-ea01-4fe3-8e98-4c99e7c65c6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dc6d5ef0-4db7-4508-9730-184581cb09c6", "created_at": "2024-03-18T10:50:48.069415+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dc6d5ef0-4db7-4508-9730-184581cb09c6", "rel": "self"}, {"href": "http://localhost/deploy_templates/dc6d5ef0-4db7-4508-9730-184581cb09c6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '80f067fb-cabe-40c0-9a5f-67c34417b541', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0433a647-bcb7-4cbc-9189-21f2248bf12d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/091e5f20-8698-4756-b468-323fbf8f46b7 DEBUG util.py:445: Openstack-Request-Id: req-88143bc0-ae3f-4c43-b071-e2017ca87079 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "091e5f20-8698-4756-b468-323fbf8f46b7", "created_at": "2024-03-18T10:50:48.165923+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/091e5f20-8698-4756-b468-323fbf8f46b7", "rel": "self"}, {"href": "http://localhost/deploy_templates/091e5f20-8698-4756-b468-323fbf8f46b7", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/091e5f20-8698-4756-b468-323fbf8f46b7 {} DEBUG util.py:445: GOT:{'uuid': '091e5f20-8698-4756-b468-323fbf8f46b7', 'created_at': '2024-03-18T10:50:48.165923+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/091e5f20-8698-4756-b468-323fbf8f46b7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/091e5f20-8698-4756-b468-323fbf8f46b7', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '4a9407b7-fa44-4b31-b643-96aaf0f93d69', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}, 'foo': 'bar'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a400ed05-e27c-48c4-a3d1-73924f5b00d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9bb41612-0643-4b71-b4eb-9ab5816b3c3f', 'steps': {}, 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de61683e-9ef7-463c-b9f9-8dd1999c1356 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'ed5f5479-a75d-4b3f-8f9f-4e3ecb6b0bea', 'steps': [{'interface': [3], 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cbcdd47-6600-4ced-ad39-aa04c79922de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '16469997-f84b-49eb-9a26-924a1988122e', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': -1}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb0cb648-c7f5-4716-8829-572db1f4d045 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '2d68d55e-b409-4be7-94d2-7e5ba986d78d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 'not a number'}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10fb9d6a-de33-4c2c-8282-e2048b05d368 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' is not of type 'integer'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '50a4515c-4021-4567-a230-1e9658582322', 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6aa7cd13-62aa-42f4-aed5-1b750255b041 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '24603b26-8ca1-4002-abfd-da7943457934', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}}{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.028377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.036386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.037111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.046348s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.056463s] ... ok DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': []} DEBUG util.py:445: GET: /v1/chassis?fields=extra&limit=2 {} DEBUG util.py:445: GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/298d9931-f5c8-448c-89a1-6017af077f0d', 'rel': 'self'}, {'href': 'http://localhost/chassis/298d9931-f5c8-448c-89a1-6017af077f0d', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/a5228fff-bd4c-4e3d-91a2-27d0e68eb1f6', 'rel': 'self'}, {'href': 'http://localhost/chassis/a5228fff-bd4c-4e3d-91a2-27d0e68eb1f6', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=a5228fff-bd4c-4e3d-91a2-27d0e68eb1f6'} DEBUG util.py:445: GET: /v1/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00 {} DEBUG util.py:445: GOT:{'uuid': 'eb1e3198-43f2-4f5e-ac56-0523553cea00', 'created_at': '2024-03-18T10:50:47.845040+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00 {} DEBUG util.py:445: GOT:{'uuid': 'eb1e3198-43f2-4f5e-ac56-0523553cea00', 'created_at': '2024-03-18T10:50:47.845040+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00 {} DEBUG util.py:445: GOT:{'uuid': 'eb1e3198-43f2-4f5e-ac56-0523553cea00', 'created_at': '2024-03-18T10:50:47.845040+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/eb1e3198-43f2-4f5e-ac56-0523553cea00/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d98591d9-6624-46c4-932b-3ef44327a1cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:50:48.018474+00:00", "updated_at": "2024-03-18T10:50:48.043718+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"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:48.018474+00:00', 'updated_at': '2024-03-18T10:50:48.043718+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'}]]} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef0c448c-24ad-41ba-9b05-ceaafe1af2af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot overwrite UUID for an existing Chassis.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'new', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-338ee536-d002-44e7-a53a-814c37d052fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: Openstack-Request-Id: req-5636f1d9-6599-41bc-bd7d-2d847c6926d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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'}]]} DEBUG util.py:445: POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'foo': 123}, 'description': 'data-center-1-chassis'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: Openstack-Request-Id: req-1a26e151-ff23-4a97-a329-5e01d2c6c8de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:50:48.421435+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_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.089783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.124327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.142560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.032953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.050680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.029249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.105856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.036010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.027099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.106765s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.027684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.126275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.036886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.100839s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.068633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.084449s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.053814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.065985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.060783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.027942s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.035027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.041306s] ... ok DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33cd4739-7b6a-429c-8a1f-f1f3e82e5763 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b95d2f35-ba16-43e4-8ae4-be196d227593 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/chassis/c4dfdb62-bb99-489a-a740-74356157d780 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f3ddb93-c32d-4478-99ba-6e69107e118a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "c4dfdb62-bb99-489a-a740-74356157d780", "created_at": "2024-03-18T10:50:48.056639+00:00", "updated_at": "2024-03-18T10:50:48.073703+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/c4dfdb62-bb99-489a-a740-74356157d780", "rel": "self"}, {"href": "http://localhost/chassis/c4dfdb62-bb99-489a-a740-74356157d780", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c4dfdb62-bb99-489a-a740-74356157d780/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c4dfdb62-bb99-489a-a740-74356157d780/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/c4dfdb62-bb99-489a-a740-74356157d780 {} DEBUG util.py:445: GOT:{'uuid': 'c4dfdb62-bb99-489a-a740-74356157d780', 'created_at': '2024-03-18T10:50:48.056639+00:00', 'updated_at': '2024-03-18T10:50:48.073703+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/c4dfdb62-bb99-489a-a740-74356157d780', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4dfdb62-bb99-489a-a740-74356157d780', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c4dfdb62-bb99-489a-a740-74356157d780/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4dfdb62-bb99-489a-a740-74356157d780/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '7f328128-dbdb-4ab5-9794-697db633e471', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/7f328128-dbdb-4ab5-9794-697db633e471', 'rel': 'self'}, {'href': 'http://localhost/conductors/7f328128-dbdb-4ab5-9794-697db633e471', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '42f26c1d-7a0a-4296-bd46-2afb999d5c67', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/42f26c1d-7a0a-4296-bd46-2afb999d5c67', 'rel': 'self'}, {'href': 'http://localhost/conductors/42f26c1d-7a0a-4296-bd46-2afb999d5c67', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '9a5a1b32-47ff-45ed-bec6-fd2cdced2a98', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/9a5a1b32-47ff-45ed-bec6-fd2cdced2a98', 'rel': 'self'}, {'href': 'http://localhost/conductors/9a5a1b32-47ff-45ed-bec6-fd2cdced2a98', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=9a5a1b32-47ff-45ed-bec6-fd2cdced2a98'} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:{'conductors': []} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks?fields=hostname,alive {} DEBUG util.py:445: GOT:{'hostname': 'rocky.rocks', 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:{'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}]} DEBUG util.py:445: DELETE: /v1/deploy_templates/CUSTOM_DT1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-16bc6edd-126c-4f11-9e77-5e14a873610d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/deploy_templates/a5370544-35c7-44bd-a67f-a86b90296949 DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: GET: /v1/deploy_templates?fields=uuid,steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '2c575d75-541c-425f-920f-ef9f384e4a67', 'links': [{'href': 'http://localhost/v1/deploy_templates/2c575d75-541c-425f-920f-ef9f384e4a67', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/2c575d75-541c-425f-920f-ef9f384e4a67', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'ef18b43f-8ad0-4d90-9369-f410242f4069', 'links': [{'href': 'http://localhost/v1/deploy_templates/ef18b43f-8ad0-4d90-9369-f410242f4069', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ef18b43f-8ad0-4d90-9369-f410242f4069', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '6b45757c-dc88-4724-96ce-0e402603eabe', 'links': [{'href': 'http://localhost/v1/deploy_templates/6b45757c-dc88-4724-96ce-0e402603eabe', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6b45757c-dc88-4724-96ce-0e402603eabe', '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=6b45757c-dc88-4724-96ce-0e402603eabe'} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '1c8c581b-7438-4f03-8d7f-3cd003882d86', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/1c8c581b-7438-4f03-8d7f-3cd003882d86', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1c8c581b-7438-4f03-8d7f-3cd003882d86', 'rel': 'bookmark'}]}, {'uuid': '62f9f6bb-d593-445f-98c1-1566c173937b', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/62f9f6bb-d593-445f-98c1-1566c173937b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/62f9f6bb-d593-445f-98c1-1566c173937b', 'rel': 'bookmark'}]}, {'uuid': '43a0ccd6-4f89-4f6c-8ef1-fec56877e637', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/43a0ccd6-4f89-4f6c-8ef1-fec56877e637', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/43a0ccd6-4f89-4f6c-8ef1-fec56877e637', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=43a0ccd6-4f89-4f6c-8ef1-fec56877e637'} DEBUG util.py:445: GET: /v1/deploy_templates/9e89cdb5-50e0-444e-bec3-3ad328921165 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: GET: /v1/deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8 {} DEBUG util.py:445: GOT:{'uuid': 'be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'created_at': '2024-03-18T10:50:48.849786+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}{1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.131440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.126693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.182861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.060161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.065486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.083816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.098614s] ... ok DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a86b7156-18c9-49ba-8584-662228288b47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '96eb351e-b8ec-4328-ad7d-30e973bae5dd', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': '42'}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/96eb351e-b8ec-4328-ad7d-30e973bae5dd DEBUG util.py:445: Openstack-Request-Id: req-3012509c-19fa-4209-97f3-241f584f3fd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "96eb351e-b8ec-4328-ad7d-30e973bae5dd", "created_at": "2024-03-18T10:50:48.482176+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/96eb351e-b8ec-4328-ad7d-30e973bae5dd", "rel": "self"}, {"href": "http://localhost/deploy_templates/96eb351e-b8ec-4328-ad7d-30e973bae5dd", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} DEBUG util.py:445: GET: /v1/drivers/test/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers?fields=name,hosts&detail=false {} DEBUG util.py:445: GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/drivers?fields=name,invalid {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89f205d0-bf9d-44eb-a2b0-22e3ae87db25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?type=classic {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63fdea2a-6347-4502-93be-4b48e2c81cec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?type=dynamic {} DEBUG util.py:445: GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}]} DEBUG util.py:445: POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ae5a6ce-6be1-4eae-8406-b5392575cc1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-746d894d-7433-4b94-81ca-2a909ac0e749 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-fff0d7f4-5e65-48ba-b6cf-ea9c0c7336f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1e848d74-f88d-4617-af23-5e56a220354f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c704a741-40a6-48a9-979c-a13de0cd0f40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ed484aaf-3482-4218-adf0-186c06b23ed1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/89629ba2-1620-4ae1-9edb-1e5dd1410021 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-87ec267f-9e74-4631-9aa2-f65dc89292cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dbea4589-dd91-470e-9cc6-142bb5464585 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {}{2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.064860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.042833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.015520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.167588s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.021614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.034330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.016081s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.028750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.109578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.043165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.059552s] ... ok DEBUG util.py:445: DELETE: /v1/allocations/2950a8d5-2a84-403c-a5f9-6763ea5d1256 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f4bd5b7d-3071-4201-8c17-af6efbd1b6b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/allocations/alloc1.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5117de9a-323c-4d57-a055-aaecec3a7737 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/nodes/7797f8f6-7ccd-448c-b897-0ec5a76e3035/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65f79895-8046-4afe-8875-1b067dd17ba1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 7797f8f6-7ccd-448c-b897-0ec5a76e3035 was not found\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?owner=54321 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b1e2d83-e28e-4fba-ad67-83ef8ac7ba81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49a69612-66c1-403f-8852-6e69a2f15049 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'd4576a90-05d2-49fe-9fdd-8c29aaa5f30b', 'created_at': '2024-03-18T10:50:48.555103+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/d4576a90-05d2-49fe-9fdd-8c29aaa5f30b', 'rel': 'self'}, {'href': 'http://localhost/allocations/d4576a90-05d2-49fe-9fdd-8c29aaa5f30b', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'bf748db2-7bfe-4821-86eb-b6bda5cb5dfd', 'created_at': '2024-03-18T10:50:48.556200+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/bf748db2-7bfe-4821-86eb-b6bda5cb5dfd', 'rel': 'self'}, {'href': 'http://localhost/allocations/bf748db2-7bfe-4821-86eb-b6bda5cb5dfd', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '23ba49a5-9af6-4986-902e-3c7eb8adf918', 'created_at': '2024-03-18T10:50:48.557242+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/23ba49a5-9af6-4986-902e-3c7eb8adf918', 'rel': 'self'}, {'href': 'http://localhost/allocations/23ba49a5-9af6-4986-902e-3c7eb8adf918', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'cb96b9a4-9f8f-4c56-8935-ca25cb1e5e51', 'created_at': '2024-03-18T10:50:48.579342+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/cb96b9a4-9f8f-4c56-8935-ca25cb1e5e51', 'rel': 'self'}, {'href': 'http://localhost/allocations/cb96b9a4-9f8f-4c56-8935-ca25cb1e5e51', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '006d2107-0b99-4f61-9b18-e65dad0f6d83', 'created_at': '2024-03-18T10:50:48.580537+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/006d2107-0b99-4f61-9b18-e65dad0f6d83', 'rel': 'self'}, {'href': 'http://localhost/allocations/006d2107-0b99-4f61-9b18-e65dad0f6d83', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/allocations/c6825bc6-5446-4f92-9af4-35467c278034 {} DEBUG util.py:445: GOT:{'uuid': 'c6825bc6-5446-4f92-9af4-35467c278034', 'created_at': '2024-03-18T10:50:48.692677+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c6825bc6-5446-4f92-9af4-35467c278034', 'rel': 'self'}, {'href': 'http://localhost/allocations/c6825bc6-5446-4f92-9af4-35467c278034', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/c6825bc6-5446-4f92-9af4-35467c278034 {} DEBUG util.py:445: GOT:{'uuid': 'c6825bc6-5446-4f92-9af4-35467c278034', 'created_at': '2024-03-18T10:50:48.692677+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c6825bc6-5446-4f92-9af4-35467c278034', 'rel': 'self'}, {'href': 'http://localhost/allocations/c6825bc6-5446-4f92-9af4-35467c278034', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations?state=allocating {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'df6c1a4e-2759-4a0b-98c6-951b82c72360', 'created_at': '2024-03-18T10:50:48.787708+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/df6c1a4e-2759-4a0b-98c6-951b82c72360', 'rel': 'self'}, {'href': 'http://localhost/allocations/df6c1a4e-2759-4a0b-98c6-951b82c72360', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '1d22a0d3-cea9-4bbc-be0b-7556e624f203', 'created_at': '2024-03-18T10:50:48.788815+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1d22a0d3-cea9-4bbc-be0b-7556e624f203', 'rel': 'self'}, {'href': 'http://localhost/allocations/1d22a0d3-cea9-4bbc-be0b-7556e624f203', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'e15ffffa-3927-4dd3-9fa2-796e69ec2cdd', 'created_at': '2024-03-18T10:50:48.789846+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/e15ffffa-3927-4dd3-9fa2-796e69ec2cdd', 'rel': 'self'}, {'href': 'http://localhost/allocations/e15ffffa-3927-4dd3-9fa2-796e69ec2cdd', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} DEBUG util.py:445: GOT:{'uuid': '0566e573-65a8-4bb7-97d6-22a1dca47f23', 'created_at': '2024-03-18T10:50:48.896802+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/0566e573-65a8-4bb7-97d6-22a1dca47f23', 'rel': 'self'}, {'href': 'http://localhost/allocations/0566e573-65a8-4bb7-97d6-22a1dca47f23', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/allocations/334ded4a-9dc7-4490-b569-d1cea775c3cd {} DEBUG util.py:445: GOT:{'uuid': '334ded4a-9dc7-4490-b569-d1cea775c3cd', 'created_at': '2024-03-18T10:50:49.173008+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'pg.json', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/334ded4a-9dc7-4490-b569-d1cea775c3cd', 'rel': 'self'}, {'href': 'http://localhost/allocations/334ded4a-9dc7-4490-b569-d1cea775c3cd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.121445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.036793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.130085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.062672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.053034s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.150487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.062483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.040745s] ... ok DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:48.421435+00:00', 'updated_at': None, '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'}]]} DEBUG util.py:445: POST: /v1/chassis {'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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: Openstack-Request-Id: req-b5c6beeb-8740-4911-8cf9-1560ea007038 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:50:48.530299+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"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:48.530299+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, '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'}]]} DEBUG util.py:445: GET: /v1/conductors?fields=hostname,alive {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '608c0217-efb1-474c-b446-38e0d07a922f', 'links': [{'href': 'http://localhost/v1/conductors/608c0217-efb1-474c-b446-38e0d07a922f', 'rel': 'self'}, {'href': 'http://localhost/conductors/608c0217-efb1-474c-b446-38e0d07a922f', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '4cb803d4-1db2-4a81-92b2-755837df11eb', 'links': [{'href': 'http://localhost/v1/conductors/4cb803d4-1db2-4a81-92b2-755837df11eb', 'rel': 'self'}, {'href': 'http://localhost/conductors/4cb803d4-1db2-4a81-92b2-755837df11eb', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'e7b206fb-af3b-45f7-bfd5-3a2fcb4198de', 'links': [{'href': 'http://localhost/v1/conductors/e7b206fb-af3b-45f7-bfd5-3a2fcb4198de', 'rel': 'self'}, {'href': 'http://localhost/conductors/e7b206fb-af3b-45f7-bfd5-3a2fcb4198de', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=e7b206fb-af3b-45f7-bfd5-3a2fcb4198de'} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fea235f-749f-4e43-8130-6a0499320274 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5ce3fd0-9156-49a3-b1f0-2f803e037f54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors?sort_key=hostname {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '06f89a29-b319-4edf-aaa9-f41245eb96a4', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/06f89a29-b319-4edf-aaa9-f41245eb96a4', 'rel': 'self'}, {'href': 'http://localhost/conductors/06f89a29-b319-4edf-aaa9-f41245eb96a4', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '91a6d5f9-8c27-4c83-8afb-ecc1e1859dfb', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/91a6d5f9-8c27-4c83-8afb-ecc1e1859dfb', 'rel': 'self'}, {'href': 'http://localhost/conductors/91a6d5f9-8c27-4c83-8afb-ecc1e1859dfb', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'a1e182b6-ed86-4033-b384-26d17115ffb7', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/a1e182b6-ed86-4033-b384-26d17115ffb7', 'rel': 'self'}, {'href': 'http://localhost/conductors/a1e182b6-ed86-4033-b384-26d17115ffb7', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'c6a83dde-8bdc-4481-b1ba-817ae30b4539', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/c6a83dde-8bdc-4481-b1ba-817ae30b4539', 'rel': 'self'}, {'href': 'http://localhost/conductors/c6a83dde-8bdc-4481-b1ba-817ae30b4539', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'dd8a354a-ad5e-43b6-8bb1-4559f1eb145f', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/dd8a354a-ad5e-43b6-8bb1-4559f1eb145f', 'rel': 'self'}, {'href': 'http://localhost/conductors/dd8a354a-ad5e-43b6-8bb1-4559f1eb145f', 'rel': 'bookmark'}], 'alive': True}]} DEBUG util.py:445: DELETE: /v1/deploy_templates/blah DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69e740da-b080-498c-8f7a-4c02035a8444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/deploy_templates/18c9eb5b-cfab-4ce4-8600-bd7c6520cf95.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-066006de-c725-4b73-aa37-b57aa0b2a4db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: GET: /v1/deploy_templates?detail=False&fields=steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'links': [{'href': 'http://localhost/v1/deploy_templates/ce1b8021-dda3-4a02-935f-e0b18dbcfe0f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ce1b8021-dda3-4a02-935f-e0b18dbcfe0f', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?fields=uuid,steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'a01ba93c-4781-4032-82a4-4bc62e2fc10c', 'links': [{'href': 'http://localhost/v1/deploy_templates/a01ba93c-4781-4032-82a4-4bc62e2fc10c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a01ba93c-4781-4032-82a4-4bc62e2fc10c', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '341fa2af-e97f-415d-982f-84e850bf3c9e', 'links': [{'href': 'http://localhost/v1/deploy_templates/341fa2af-e97f-415d-982f-84e850bf3c9e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/341fa2af-e97f-415d-982f-84e850bf3c9e', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '7c50367b-0a58-4461-9040-b343b800b01b', 'links': [{'href': 'http://localhost/v1/deploy_templates/7c50367b-0a58-4461-9040-b343b800b01b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7c50367b-0a58-4461-9040-b343b800b01b', '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_collection_custom_fields [0.035593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.035754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.042365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.043943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.036887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.092798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.043654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.056864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.084911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.059514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.078245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.073586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.060706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.103846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.063431s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.099893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.050625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.059508s] ... ok DEBUG util.py:445: GET: /v1/deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8 {} DEBUG util.py:445: GOT:{'uuid': 'be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'created_at': '2024-03-18T10:50:48.849786+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8 {} DEBUG util.py:445: GOT:{'uuid': 'be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'created_at': '2024-03-18T10:50:48.849786+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/be2d7fdf-3c3b-47fc-9413-ec7d01521ce8', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '4c8561e6-0b90-4a30-a386-1398e2569ccf', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/4c8561e6-0b90-4a30-a386-1398e2569ccf', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/4c8561e6-0b90-4a30-a386-1398e2569ccf', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates/e2247178-b1b9-4a0a-bc3c-b032a870b879 {} DEBUG util.py:445: GOT:{'uuid': 'e2247178-b1b9-4a0a-bc3c-b032a870b879', 'created_at': '2024-03-18T10:50:49.059746+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/e2247178-b1b9-4a0a-bc3c-b032a870b879', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e2247178-b1b9-4a0a-bc3c-b032a870b879', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d4ad2bb-a14e-4f89-8848-16fdcfec77be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d48e0bd-f0e5-499c-be4d-249d3412b016 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=steps {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a07038c-cc1a-4271-8fb8-e5994688af51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/079d4756-629d-4fe8-bb56-f133921d49a7 [{'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'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1efc586-8100-419c-b48b-3a8da6cd6540 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "079d4756-629d-4fe8-bb56-f133921d49a7", "created_at": "2024-03-18T10:50:49.247971+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/079d4756-629d-4fe8-bb56-f133921d49a7", "rel": "self"}, {"href": "http://localhost/deploy_templates/079d4756-629d-4fe8-bb56-f133921d49a7", "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}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/9a7c6b53-9245-4482-b752-ee7dd6f122fd [{'path': '/foo', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e247f6f-338d-4066-b282-5ff9da66cf00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/aa439365-8d85-49aa-bb4c-e7403f77eaff [{'path': '/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37d0c882-a8c2-4920-8362-5888ec1450f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /non-existent. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/e466974d-79b6-4216-821a-3268d1f2992f [{'path': '/steps', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fab660a7-4899-4ede-8546-a3b3c3375abf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/a0e5a44a-20be-446a-8d52-bbbcc7028685 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4640707-aba1-4f80-944b-89984cac388c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/d13e2828-1079-4fab-84f2-64d7cbfada67 [{'path': '/name', 'op': 'replace', 'value': None}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cec0f89-20c3-486c-89b4-4bffda626e51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/1b716490-b62d-4cfd-88a9-d4deffefe0f4 [{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02f7ad57-0561-4e28-8605-425fb80709aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}], 'op': 'replace'}]{1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.046280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.062189s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.064899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.091923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.046977s] ... ok DEBUG util.py:445: GOT:{'bios': [{'created_at': '2024-03-18T10:50:49.048301+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'attribute_type': 'Enumeration', 'allowable_values': ['on', 'off'], 'lower_bound': None, 'max_length': None, 'min_length': None, 'read_only': False, 'reset_required': True, 'unique': False, 'upper_bound': None, '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'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2024-03-18T10:50:49.095876+00:00', 'updated_at': None, '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'}]}]} DEBUG util.py:445: DELETE: /v1/nodes/foo DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abb9225c-005c-49e8-8b61-1919cfdec69c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/foo.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-75c84456-135e-429e-ac89-61c743fd111a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/foo DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3859dd59-be2b-4282-8661-ec70d0921236 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13b039a1-5305-477a-ab49-ce36d1170232 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e73be164-1d3c-4101-b22e-5e4ebe9d2f99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?detail=False {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?sort_key=resource_class {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '2847c1c3-dd9e-446f-9886-30ad78609e9b', 'created_at': '2024-03-18T10:50:49.714637+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'rc_1', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/2847c1c3-dd9e-446f-9886-30ad78609e9b', 'rel': 'self'}, {'href': 'http://localhost/nodes/2847c1c3-dd9e-446f-9886-30ad78609e9b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/2847c1c3-dd9e-446f-9886-30ad78609e9b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2847c1c3-dd9e-446f-9886-30ad78609e9b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/2847c1c3-dd9e-446f-9886-30ad78609e9b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/2847c1c3-dd9e-446f-9886-30ad78609e9b/states', 'rel': 'bookmark'}]}, {'uuid': '9780725f-30f1-4cf0-83ca-7f642c396e5f', 'created_at': '2024-03-18T10:50:49.689428+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'rc_2', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/9780725f-30f1-4cf0-83ca-7f642c396e5f', 'rel': 'self'}, {'href': 'http://localhost/nodes/9780725f-30f1-4cf0-83ca-7f642c396e5f', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/9780725f-30f1-4cf0-83ca-7f642c396e5f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9780725f-30f1-4cf0-83ca-7f642c396e5f/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9780725f-30f1-4cf0-83ca-7f642c396e5f/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9780725f-30f1-4cf0-83ca-7f642c396e5f/states', 'rel': 'bookmark'}]}, {'uuid': '6ab4e75b-de44-44ad-83b1-941a8d378701', 'created_at': '2024-03-18T10:50:49.685905+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'rc_3', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/6ab4e75b-de44-44ad-83b1-941a8d378701', 'rel': 'self'}, {'href': 'http://localhost/nodes/6ab4e75b-de44-44ad-83b1-941a8d378701', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6ab4e75b-de44-44ad-83b1-941a8d378701/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6ab4e75b-de44-44ad-83b1-941a8d378701/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6ab4e75b-de44-44ad-83b1-941a8d378701/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6ab4e75b-de44-44ad-83b1-941a8d378701/states', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.184471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.061338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.077667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.090063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.051161s] ... ok DEBUG util.py:445: GET: /v1/deploy_templates/ead90ae8-92cd-4d42-867c-d1617ad70fd4 {} DEBUG util.py:445: GOT:{'uuid': 'ead90ae8-92cd-4d42-867c-d1617ad70fd4', 'created_at': '2024-03-18T10:50:49.276698+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/ead90ae8-92cd-4d42-867c-d1617ad70fd4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ead90ae8-92cd-4d42-867c-d1617ad70fd4', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'ae8a054b-e80b-4f64-ac6b-638c468f43ce', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/ae8a054b-e80b-4f64-ac6b-638c468f43ce', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ae8a054b-e80b-4f64-ac6b-638c468f43ce', 'rel': 'bookmark'}]}, {'uuid': 'fc1b9c9e-b7f9-46e9-a97d-f62cb23147e0', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/fc1b9c9e-b7f9-46e9-a97d-f62cb23147e0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/fc1b9c9e-b7f9-46e9-a97d-f62cb23147e0', 'rel': 'bookmark'}]}, {'uuid': 'b1bc0483-744f-43c1-8b5c-cba9db01069d', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/b1bc0483-744f-43c1-8b5c-cba9db01069d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b1bc0483-744f-43c1-8b5c-cba9db01069d', 'rel': 'bookmark'}]}, {'uuid': '1b5f724d-3b40-43d5-b82b-3e1fd08179af', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/1b5f724d-3b40-43d5-b82b-3e1fd08179af', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1b5f724d-3b40-43d5-b82b-3e1fd08179af', 'rel': 'bookmark'}]}, {'uuid': '1f28a497-ff4c-42b7-af76-50562f3ba510', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/1f28a497-ff4c-42b7-af76-50562f3ba510', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1f28a497-ff4c-42b7-af76-50562f3ba510', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=name&detail=False {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '1b1f01af-7276-41c6-8d3a-c7c42b0da274', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/1b1f01af-7276-41c6-8d3a-c7c42b0da274', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1b1f01af-7276-41c6-8d3a-c7c42b0da274', 'rel': 'bookmark'}]}, {'uuid': 'd1e349f8-f946-4e47-b90b-1e0c166bb7e8', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/d1e349f8-f946-4e47-b90b-1e0c166bb7e8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d1e349f8-f946-4e47-b90b-1e0c166bb7e8', 'rel': 'bookmark'}]}, {'uuid': 'c0a1aade-a78b-4a59-ac78-d4ba99f5be27', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/c0a1aade-a78b-4a59-ac78-d4ba99f5be27', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c0a1aade-a78b-4a59-ac78-d4ba99f5be27', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/7787788c-0c37-4c64-bbad-90cd38931018 [{'path': '/name', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-869b7b07-049b-4a2c-8390-731a50d93b47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/5e08d0d1-9fd9-407c-8436-d4b43222f4e0 [{'path': '/steps/1', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab1184e7-f2dd-49fc-9616-771f7e11ba64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'remove'}'. Reason: can't remove non-existent object '1'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/0ac6f690-99e7-46e7-8a17-9619f57ec9fc [{'path': '/steps/0', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf7a7693-e09e-4670-ab3f-f35cd83e2250 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/2af00ff5-2e4b-4120-8132-00d40cca12c4 [{'path': '/steps', 'op': 'replace', 'value': []}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3822c5ea-b0e7-4ef8-9737-7f60904d6561 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/afe1d353-b8cc-4ada-9079-0c7c70c8aa2d [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c379b37-50d4-4ecb-aef8-0e8270660f18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/d90082b7-adad-4273-82ad-48ee9f299f63 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abacf8d3-2346-4272-9e57-5015e81c4e69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID d90082b7-adad-4273-82ad-48ee9f299f63 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/e21d6dc6-0f32-4441-8507-d521fb249be9 [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01ef501d-126c-47ff-80c8-9b6618cc405d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '21a10381-abce-408a-92f6-a973b4fb692d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/21a10381-abce-408a-92f6-a973b4fb692d DEBUG util.py:445: Openstack-Request-Id: req-787060f9-1723-4b4d-b37f-0f9db55567aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "21a10381-abce-408a-92f6-a973b4fb692d", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/21a10381-abce-408a-92f6-a973b4fb692d", "rel": "self"}, {"href": "http://localhost/deploy_templates/21a10381-abce-408a-92f6-a973b4fb692d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/21a10381-abce-408a-92f6-a973b4fb692d {}{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.057875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.030566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.036621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.061751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.030090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.041685s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.158801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.035445s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.030669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.038520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.063065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.112058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.062935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.047018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.034674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.041428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.043619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.077112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.039445s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.070770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.039877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.507593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.038043s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.053371s] ... ok DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-429819f4-9d61-4f32-9bb2-b1063d7b9a17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "cbcab91d-25b8-463f-a629-79d60f361253", "created_at": "2024-03-18T10:50:49.696142+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cbcab91d-25b8-463f-a629-79d60f361253", "rel": "self"}, {"href": "http://localhost/deploy_templates/cbcab91d-25b8-463f-a629-79d60f361253", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '7fa20650-8447-4fc9-8979-49d2ddb65593', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/7fa20650-8447-4fc9-8979-49d2ddb65593 DEBUG util.py:445: Openstack-Request-Id: req-20a1a653-3b4e-4f2a-8f11-fd2a8d805e78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7fa20650-8447-4fc9-8979-49d2ddb65593", "created_at": "2024-03-18T10:50:49.765536+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7fa20650-8447-4fc9-8979-49d2ddb65593", "rel": "self"}, {"href": "http://localhost/deploy_templates/7fa20650-8447-4fc9-8979-49d2ddb65593", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'cb17669d-16f9-4d0a-8d87-94551949cdc7', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/cb17669d-16f9-4d0a-8d87-94551949cdc7 DEBUG util.py:445: Openstack-Request-Id: req-85df0ecd-b782-49d4-8347-1a8471a388b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "cb17669d-16f9-4d0a-8d87-94551949cdc7", "created_at": "2024-03-18T10:50:49.832562+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cb17669d-16f9-4d0a-8d87-94551949cdc7", "rel": "self"}, {"href": "http://localhost/deploy_templates/cb17669d-16f9-4d0a-8d87-94551949cdc7", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/cb17669d-16f9-4d0a-8d87-94551949cdc7 {} DEBUG util.py:445: GOT:{'uuid': 'cb17669d-16f9-4d0a-8d87-94551949cdc7', 'created_at': '2024-03-18T10:50:49.832562+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/cb17669d-16f9-4d0a-8d87-94551949cdc7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/cb17669d-16f9-4d0a-8d87-94551949cdc7', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6c6e914a-df8a-45c1-b08b-c1c14c62d3df', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': 42} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18f7af8b-b37c-4195-ab41-5517721c24db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'ac182d8f-706a-4913-b5af-8fa6c81b9aec', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9db5d03d-8656-480d-9dba-81240be59a4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'ad04f3a8-bf64-4bc9-821e-5f0543580cf9', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/ad04f3a8-bf64-4bc9-821e-5f0543580cf9 DEBUG util.py:445: Openstack-Request-Id: req-d360f164-179c-4240-8e14-fccf84c9932a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ad04f3a8-bf64-4bc9-821e-5f0543580cf9", "created_at": "2024-03-18T10:50:49.998140+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ad04f3a8-bf64-4bc9-821e-5f0543580cf9", "rel": "self"}, {"href": "http://localhost/deploy_templates/ad04f3a8-bf64-4bc9-821e-5f0543580cf9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'uuid': '5bde4d05-8628-4e56-a838-cdfe3b0e5055', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0b65233-eac2-4554-89d1-2551ff938ab7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f915d9f2-ee8b-4c12-8435-7d7de55b9e36', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8fafc2f4-af67-47d8-bf58-24845658ed52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/driver/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5de44897-e312-4e0c-bbdd-d1ef7bb5bdf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-7dd38299-489d-436a-8c14-66dc4baa2b07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {} DEBUG util.py:445: GOT:foo DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'}{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.058671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.033587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.059544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.089478s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.089088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.053259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.028393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.062467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.057085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.127702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.035462s] ... ok DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '6325a050-5be8-44c2-bacf-b695524379f5', 'created_at': '2024-03-18T10:50:49.293502+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6325a050-5be8-44c2-bacf-b695524379f5', 'rel': 'self'}, {'href': 'http://localhost/allocations/6325a050-5be8-44c2-bacf-b695524379f5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: PATCH: /v1/allocations/65d4fde9-9ba7-4310-b135-2f49d6200c6d [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b4a74ce-24d3-40d5-86bf-ceb06193ec8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: name, extra\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/4453708b-353b-45e2-82fa-92c52475dd54 [{'path': '/name', 'value': '[test]', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1480c42-3e05-41e6-9910-f7a047ebb782 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/bd4d225e-db45-4275-b8d9-c509f770e080 [{'path': '/name', 'value': None, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64588294-b3b7-457d-b62b-3182da09e402 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "bd4d225e-db45-4275-b8d9-c509f770e080", "created_at": "2024-03-18T10:50:49.595858+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/bd4d225e-db45-4275-b8d9-c509f770e080", "rel": "self"}, {"href": "http://localhost/allocations/bd4d225e-db45-4275-b8d9-c509f770e080", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/bd4d225e-db45-4275-b8d9-c509f770e080 {} DEBUG util.py:445: GOT:{'uuid': 'bd4d225e-db45-4275-b8d9-c509f770e080', 'created_at': '2024-03-18T10:50:49.595858+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/bd4d225e-db45-4275-b8d9-c509f770e080', 'rel': 'self'}, {'href': 'http://localhost/allocations/bd4d225e-db45-4275-b8d9-c509f770e080', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/91120f78-f7fd-471f-8ed4-a83caaf3f9ca [{'path': '/name', 'value': 'test', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7842fc9-99f3-4444-8c91-91848c4613f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "91120f78-f7fd-471f-8ed4-a83caaf3f9ca", "created_at": "2024-03-18T10:50:49.658705+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/91120f78-f7fd-471f-8ed4-a83caaf3f9ca", "rel": "self"}, {"href": "http://localhost/allocations/91120f78-f7fd-471f-8ed4-a83caaf3f9ca", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/91120f78-f7fd-471f-8ed4-a83caaf3f9ca {} DEBUG util.py:445: GOT:{'uuid': '91120f78-f7fd-471f-8ed4-a83caaf3f9ca', 'created_at': '2024-03-18T10:50:49.658705+00:00', 'updated_at': '2000-01-01T00:00:00+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'test', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/91120f78-f7fd-471f-8ed4-a83caaf3f9ca', 'rel': 'self'}, {'href': 'http://localhost/allocations/91120f78-f7fd-471f-8ed4-a83caaf3f9ca', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/c8c800c9-6c93-4b02-9b63-4cb31f3a3cad DEBUG util.py:445: Openstack-Request-Id: req-1d034390-3961-4c16-b59c-9b38b8c6b55a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "c8c800c9-6c93-4b02-9b63-4cb31f3a3cad", "created_at": "2024-03-18T10:50:49.737077+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/c8c800c9-6c93-4b02-9b63-4cb31f3a3cad", "rel": "self"}, {"href": "http://localhost/allocations/c8c800c9-6c93-4b02-9b63-4cb31f3a3cad", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/c8c800c9-6c93-4b02-9b63-4cb31f3a3cad {} DEBUG util.py:445: GOT:{'uuid': 'c8c800c9-6c93-4b02-9b63-4cb31f3a3cad', 'created_at': '2024-03-18T10:50:49.737077+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'bm-super', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c8c800c9-6c93-4b02-9b63-4cb31f3a3cad', 'rel': 'self'}, {'href': 'http://localhost/allocations/c8c800c9-6c93-4b02-9b63-4cb31f3a3cad', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0bdf0e0c-1238-4bf7-b190-df658cba6ce0', 'owner': None, 'node': 'backfill-me'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/0bdf0e0c-1238-4bf7-b190-df658cba6ce0 DEBUG util.py:445: Openstack-Request-Id: req-9ed7b491-f17f-4840-83cc-2540acb26d01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "0bdf0e0c-1238-4bf7-b190-df658cba6ce0", "created_at": "2024-03-18T10:50:50.205414+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/0bdf0e0c-1238-4bf7-b190-df658cba6ce0", "rel": "self"}, {"href": "http://localhost/allocations/0bdf0e0c-1238-4bf7-b190-df658cba6ce0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/0bdf0e0c-1238-4bf7-b190-df658cba6ce0 {} DEBUG util.py:445: GOT:{'uuid': '0bdf0e0c-1238-4bf7-b190-df658cba6ce0', 'created_at': '2024-03-18T10:50:50.205414+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/0bdf0e0c-1238-4bf7-b190-df658cba6ce0', 'rel': 'self'}, {'href': 'http://localhost/allocations/0bdf0e0c-1238-4bf7-b190-df658cba6ce0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1514b30e-259b-498a-a364-26124ae5bf05', 'owner': None} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-185fc902-d3be-485c-9efa-8b666e902894 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.105556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.079487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.095048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.051552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.064472s] ... ok DEBUG util.py:445: GOT:{'uuid': '21a10381-abce-408a-92f6-a973b4fb692d', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/21a10381-abce-408a-92f6-a973b4fb692d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/21a10381-abce-408a-92f6-a973b4fb692d', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'c338fa73-6372-4eb2-b5e2-82bd917a370a', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9cbcc188-1cca-420c-8479-8c0209a11636', 'steps': [], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-524dcc3b-681d-4c3f-b820-00337fb9b6de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': None, 'uuid': '01979340-9143-46f5-ba68-6008b56fcc9c', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b282dca-9bd2-4a71-88c9-69720d0db95a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '37eb5267-861f-4282-90d1-c78a49add721', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict', 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64acdd39-6c5b-4c41-8ca4-7cc5aacd9492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'a07161b6-0ab4-4b32-b710-79b4dbb55d68', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc4483b4-741d-4ef3-bfd4-f8684a8e9078 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': '0ef2e652-0470-45df-b02e-b89d40712a9e', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34fb6840-9e43-4b37-887c-532ae3df6dd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'dcd77bea-a5e5-448b-a7bb-2a06f033aee2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eafadd15-0341-4835-b23e-54de2cbd49b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/manual-management/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers/manual-management/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers/manual-management/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers/bad_driver/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7e9a93b-71c1-42b8-9849-0ce9d8ab252f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: DELETE: /v1/drivers/fake-hardware-type/vendor_passthru/do_test DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-ebbe244c-1467-42df-9e17-493131221ac0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/drivers?detail=True {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f974e8c3-b9f1-4db9-bf75-3f02679282cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?type=working {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3922c39-351f-4304-8d2f-97750f6142e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?detail=True {} DEBUG util.py:445: GOT:{'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_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_power_interface': None, '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_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': []}]}{0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.150120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.150161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.099762s] ... ok DEBUG util.py:445: GET: /v1/nodes/detail?sort_key=resource_class {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd92c2fc-3888-4437-91fc-57a7a35dbdea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?detail=False&fields=name {} DEBUG util.py:445: GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/spam/states/console {} DEBUG util.py:445: GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ca756f0-eba4-48d6-a051-914cb2be30f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field spongebob is not a valid field.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=description {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} DEBUG util.py:445: GOT:{'state': 'on'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6efa1927-e298-48e7-a859-0fe588cd4673 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e2f616d-50f3-4cb8-aa50-25faeb81fcf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?conductor=rocky.rocks {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes?conductor=fake.conductor {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'cb88db95-f393-4dd5-878b-3d06542b85c5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/cb88db95-f393-4dd5-878b-3d06542b85c5', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb88db95-f393-4dd5-878b-3d06542b85c5', 'rel': 'bookmark'}]}, {'uuid': 'cf62027e-d8a4-42ec-8760-2f498d26bafa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/cf62027e-d8a4-42ec-8760-2f498d26bafa', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf62027e-d8a4-42ec-8760-2f498d26bafa', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor=fake.conductor {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'cf62027e-d8a4-42ec-8760-2f498d26bafa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/cf62027e-d8a4-42ec-8760-2f498d26bafa', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf62027e-d8a4-42ec-8760-2f498d26bafa', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?description_contains=cat {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '0419d00c-ce75-4e66-8a26-a759bd1602f6', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/0419d00c-ce75-4e66-8a26-a759bd1602f6', 'rel': 'self'}, {'href': 'http://localhost/nodes/0419d00c-ce75-4e66-8a26-a759bd1602f6', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?description_contains=dog {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7ad089a8-4db0-4a3b-8c1c-da7902f1cc88', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7ad089a8-4db0-4a3b-8c1c-da7902f1cc88', 'rel': 'self'}, {'href': 'http://localhost/nodes/7ad089a8-4db0-4a3b-8c1c-da7902f1cc88', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?provision_state=test {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-358f699f-d53d-4639-a22b-6c42d348e970 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.9 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?lessee=project1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '34c4ce8f-f83a-4516-ade5-8a1dd240216f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f', 'rel': 'self'}, {'href': 'http://localhost/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?lessee=project2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'b29f063c-4746-492c-b814-f42047870152', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b29f063c-4746-492c-b814-f42047870152', 'rel': 'self'}, {'href': 'http://localhost/nodes/b29f063c-4746-492c-b814-f42047870152', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '34c4ce8f-f83a-4516-ade5-8a1dd240216f', 'created_at': '2024-03-18T10:50:50.629355+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'project1', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f', 'rel': 'self'}, {'href': 'http://localhost/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/34c4ce8f-f83a-4516-ade5-8a1dd240216f/volume', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.225182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.033425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.030567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.026799s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.091534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.056289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.135075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.104332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.062915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.093827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.062887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.090373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.188881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.060072s] ... ok DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'b29f063c-4746-492c-b814-f42047870152', 'created_at': '2024-03-18T10:50:50.633249+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'project2', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/b29f063c-4746-492c-b814-f42047870152', 'rel': 'self'}, {'href': 'http://localhost/nodes/b29f063c-4746-492c-b814-f42047870152', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b29f063c-4746-492c-b814-f42047870152/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b29f063c-4746-492c-b814-f42047870152/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b29f063c-4746-492c-b814-f42047870152/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b29f063c-4746-492c-b814-f42047870152/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/b29f063c-4746-492c-b814-f42047870152/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/b29f063c-4746-492c-b814-f42047870152/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/b29f063c-4746-492c-b814-f42047870152/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/b29f063c-4746-492c-b814-f42047870152/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?owner=fred {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45f1ecc1-7218-4d01-9b36-d241a524fbad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?owner=fred {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-794c8a16-2f93-4f44-b9c7-6c9104ed6eb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?provision_state=test {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-795def60-2a38-4049-a19d-19e11dc65c57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.8 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b074d1fe-2437-449d-825e-6912a8f7e50f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:50.810710+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, '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'}]} DEBUG util.py:445: GET: /v1/nodes/node.json.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:50.859172+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'node.json', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, '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.TestListNodes.test_get_one_with_double_json [0.056678s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.049238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.047371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.043814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.065539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.154510s] ... ok DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fa5a0ba9-5cbe-405f-9a58-a125ef48e824', 'owner': '12345'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afdeaa09-ad9b-40f5-a55c-28adf3bbf03e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.59 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': 'a8f44b4d-98ec-45ed-8af2-e3b2b55712cc', 'owner': None} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55799cd8-c4e8-41b9-8f4c-77bc53ff7d4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'dff76fb6-9c13-4c6b-ad0c-9140c5558558', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/dff76fb6-9c13-4c6b-ad0c-9140c5558558 DEBUG util.py:445: Openstack-Request-Id: req-f75104c7-a4a7-436d-ac02-92f9dfd9005c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dff76fb6-9c13-4c6b-ad0c-9140c5558558", "created_at": "2024-03-18T10:50:50.605767+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/dff76fb6-9c13-4c6b-ad0c-9140c5558558", "rel": "self"}, {"href": "http://localhost/allocations/dff76fb6-9c13-4c6b-ad0c-9140c5558558", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': '440a054e-f2ee-46ab-b001-7975d7561c1a', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/440a054e-f2ee-46ab-b001-7975d7561c1a DEBUG util.py:445: Openstack-Request-Id: req-f6008884-a41f-4d9b-99ef-f7d061dacac9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "440a054e-f2ee-46ab-b001-7975d7561c1a", "created_at": "2024-03-18T10:50:50.686374+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "links": [{"href": "http://localhost/v1/allocations/440a054e-f2ee-46ab-b001-7975d7561c1a", "rel": "self"}, {"href": "http://localhost/allocations/440a054e-f2ee-46ab-b001-7975d7561c1a", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/440a054e-f2ee-46ab-b001-7975d7561c1a {} DEBUG util.py:445: GOT:{'uuid': '440a054e-f2ee-46ab-b001-7975d7561c1a', 'created_at': '2024-03-18T10:50:50.686374+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'links': [{'href': 'http://localhost/v1/allocations/440a054e-f2ee-46ab-b001-7975d7561c1a', 'rel': 'self'}, {'href': 'http://localhost/allocations/440a054e-f2ee-46ab-b001-7975d7561c1a', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '88c2b9e5-f30d-4be0-afe5-ae6db151f32f', 'owner': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/88c2b9e5-f30d-4be0-afe5-ae6db151f32f DEBUG util.py:445: Openstack-Request-Id: req-5456f4d7-05eb-45d2-9886-9538f302a915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"uuid": "88c2b9e5-f30d-4be0-afe5-ae6db151f32f", "created_at": "2024-03-18T10:50:50.788991+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/88c2b9e5-f30d-4be0-afe5-ae6db151f32f", "rel": "self"}, {"href": "http://localhost/allocations/88c2b9e5-f30d-4be0-afe5-ae6db151f32f", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/88c2b9e5-f30d-4be0-afe5-ae6db151f32f {} DEBUG util.py:445: GOT:{'uuid': '88c2b9e5-f30d-4be0-afe5-ae6db151f32f', 'created_at': '2024-03-18T10:50:50.788991+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/88c2b9e5-f30d-4be0-afe5-ae6db151f32f', 'rel': 'self'}, {'href': 'http://localhost/allocations/88c2b9e5-f30d-4be0-afe5-ae6db151f32f', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '603176f9-9e21-4f0a-9f67-54431110e72c', 'owner': '12345'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/603176f9-9e21-4f0a-9f67-54431110e72c DEBUG util.py:445: Openstack-Request-Id: req-c7e6a083-f0ed-4cd8-914b-2313fe6b31bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"uuid": "603176f9-9e21-4f0a-9f67-54431110e72c", "created_at": "2024-03-18T10:50:50.875168+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/603176f9-9e21-4f0a-9f67-54431110e72c", "rel": "self"}, {"href": "http://localhost/allocations/603176f9-9e21-4f0a-9f67-54431110e72c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/603176f9-9e21-4f0a-9f67-54431110e72c {} DEBUG util.py:445: GOT:{'uuid': '603176f9-9e21-4f0a-9f67-54431110e72c', 'created_at': '2024-03-18T10:50:50.875168+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/603176f9-9e21-4f0a-9f67-54431110e72c', 'rel': 'self'}, {'href': 'http://localhost/allocations/603176f9-9e21-4f0a-9f67-54431110e72c', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: DELETE: /v1/chassis/a1b97ca3-abc5-4e25-abb3-652b33920e6d DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e30d92db-3943-44d7-a60a-621e72623ce9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis a1b97ca3-abc5-4e25-abb3-652b33920e6d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/?limit=3 {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'b88109b7-6d11-4455-aeda-c2c8906cfbdc', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b88109b7-6d11-4455-aeda-c2c8906cfbdc', 'rel': 'self'}, {'href': 'http://localhost/chassis/b88109b7-6d11-4455-aeda-c2c8906cfbdc', 'rel': 'bookmark'}]}, {'uuid': 'de949acb-bf85-4d26-b090-586ba386985e', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/de949acb-bf85-4d26-b090-586ba386985e', 'rel': 'self'}, {'href': 'http://localhost/chassis/de949acb-bf85-4d26-b090-586ba386985e', 'rel': 'bookmark'}]}, {'uuid': '474349ad-f1f7-463a-b42d-89e4c1d4e065', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/474349ad-f1f7-463a-b42d-89e4c1d4e065', 'rel': 'self'}, {'href': 'http://localhost/chassis/474349ad-f1f7-463a-b42d-89e4c1d4e065', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=474349ad-f1f7-463a-b42d-89e4c1d4e065'}{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.103580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.057035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.074675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.094656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.102399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.061262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.070851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.056280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.083159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.107887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.100484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.093198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.072800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.045258s] ... ok DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aff5aefa-3202-4b4f-9bfd-dcfa2bd9c2fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"return_key": "return_value"} DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers?fields=name,hosts {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': []} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /v1/drivers?fields=name,hosts {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-107679dc-7c01-4708-8467-bbda54063a98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type?fields=name,hosts {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7b822b0-f804-4266-9f06-bdf01889b59d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type?fields=name,hosts {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-52c61aa0-2323-4449-9c80-b4df87f997a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'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']}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49a1d301-9b59-4a7b-9637-ac3281b8f0fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53606634-1097-484b-b2e0-5deddad78693 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c57e80e-a723-4308-8876-d6a230f33a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.041481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.095404s] ... ok DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers?detail=True {} DEBUG util.py:445: GOT:{'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_bios_interface': None, 'enabled_bios_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_power_interface': None, '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_bios_interface': None, 'enabled_bios_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': []}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c74869b-7f64-4fd0-934c-967474705a71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-9d813e98-8800-4fc7-a962-b584a7d72275 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'invalid.event'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55e64ec3-c386-472f-9cf4-20857465ffae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-9f769785-ed50-44e8-873e-306c3d106404 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'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']}]}{0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.031361s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.079369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.047883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.152767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.068470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.064943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.049341s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} DEBUG util.py:445: GOT:{'storage_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:{'supported_boot_devices': ['pxe']} DEBUG util.py:445: GET: /v1/nodes/spam/management/boot_device/supported {} DEBUG util.py:445: GOT:{'supported_boot_devices': ['pxe']} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-753fccac-4a74-4c67-80f6-75692184f265 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.36 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:51.252423+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:51.252423+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:51.352584+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:51.352584+00:00', 'updated_at': None, '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': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:51.496938+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:51.496938+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': '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_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.145195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.093365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.080918s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.039014s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.029637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.040839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.079441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.115697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.066503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.043737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.050930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.057469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.048262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.040264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.070395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.026435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.037735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.150839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.033450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.053697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.031176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.086718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.046788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.042089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.029087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.068999s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:51.610370+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:51.610370+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9 {} DEBUG util.py:445: GOT:{'uuid': 'ab83f76d-6f52-4df2-9d18-06c577e691a9', 'created_at': '2024-03-18T10:50:51.708087+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9 {} DEBUG util.py:445: GOT:{'uuid': 'ab83f76d-6f52-4df2-9d18-06c577e691a9', 'created_at': '2024-03-18T10:50:51.708087+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9 {} DEBUG util.py:445: GOT:{'uuid': 'ab83f76d-6f52-4df2-9d18-06c577e691a9', 'created_at': '2024-03-18T10:50:51.708087+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab83f76d-6f52-4df2-9d18-06c577e691a9/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?maintenance=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '13df0d72-299d-4601-a7df-27d2fbb5e417', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/13df0d72-299d-4601-a7df-27d2fbb5e417', 'rel': 'self'}, {'href': 'http://localhost/nodes/13df0d72-299d-4601-a7df-27d2fbb5e417', 'rel': 'bookmark'}]}, {'uuid': '10ac0e72-53b1-42b5-b9f5-168ab6633e3d', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/10ac0e72-53b1-42b5-b9f5-168ab6633e3d', 'rel': 'self'}, {'href': 'http://localhost/nodes/10ac0e72-53b1-42b5-b9f5-168ab6633e3d', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.171881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.034728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.043220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.035041s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.016012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.016697s] ... ok DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba0fca4f-22ea-432a-8a1a-352f2b0a01fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1cf84999-c22f-431d-87aa-60ef1c0aba31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:51.269899+00:00', 'updated_at': None, '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'}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382 {} DEBUG util.py:445: GOT:{'uuid': '3da5233f-2f19-449c-a841-a2aaf7e45382', 'created_at': '2024-03-18T10:50:51.432943+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382', 'rel': 'self'}, {'href': 'http://foo/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382 {} DEBUG util.py:445: GOT:{'uuid': '3da5233f-2f19-449c-a841-a2aaf7e45382', 'created_at': '2024-03-18T10:50:51.432943+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382', 'rel': 'self'}, {'href': 'http://foo/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /chassis/3da5233f-2f19-449c-a841-a2aaf7e45382 {} DEBUG util.py:445: GOT:{'uuid': '3da5233f-2f19-449c-a841-a2aaf7e45382', 'created_at': '2024-03-18T10:50:51.432943+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382', 'rel': 'self'}, {'href': 'http://foo/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/3da5233f-2f19-449c-a841-a2aaf7e45382/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'aad2207a-4aa4-4c58-a24b-145bc2d8f5f4', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/aad2207a-4aa4-4c58-a24b-145bc2d8f5f4', 'rel': 'self'}, {'href': 'http://localhost/chassis/aad2207a-4aa4-4c58-a24b-145bc2d8f5f4', 'rel': 'bookmark'}]}, {'uuid': '7f668356-e203-4f50-8986-12f591514fc1', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/7f668356-e203-4f50-8986-12f591514fc1', 'rel': 'self'}, {'href': 'http://localhost/chassis/7f668356-e203-4f50-8986-12f591514fc1', 'rel': 'bookmark'}]}, {'uuid': '56594ccc-70ca-441d-b779-5e1f645517c7', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/56594ccc-70ca-441d-b779-5e1f645517c7', 'rel': 'self'}, {'href': 'http://localhost/chassis/56594ccc-70ca-441d-b779-5e1f645517c7', 'rel': 'bookmark'}]}, {'uuid': '97716408-c2b2-478f-bc0b-2193eed9f144', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/97716408-c2b2-478f-bc0b-2193eed9f144', 'rel': 'self'}, {'href': 'http://localhost/chassis/97716408-c2b2-478f-bc0b-2193eed9f144', 'rel': 'bookmark'}]}, {'uuid': '7f9ed5e9-60a7-4b8f-9d6a-f21afd6cb470', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/7f9ed5e9-60a7-4b8f-9d6a-f21afd6cb470', 'rel': 'self'}, {'href': 'http://localhost/chassis/7f9ed5e9-60a7-4b8f-9d6a-f21afd6cb470', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88b6e2c3-a595-4941-99e3-b5d5d59a2a49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6b45fa9-820b-41b5-9bd3-fbd2d0d5108d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: uuid, extra, description\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1bbc64a3-ce88-4766-a739-c2a04942377b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 1334} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcc01aae-d456-4a7d-bea3-d4ca259ade0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 1334 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'амо'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: Openstack-Request-Id: req-92a09a06-d859-43da-bff8-fd115ad2ee72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:50:51.978793+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"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {}{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.082551s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.015845s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.033639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.135203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.035406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.177516s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.033713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.161361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.113766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.053386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.082872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.088823s] ... ok DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e135c94-d990-45ca-8050-cd6be54a499a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/doesntexist/vifs {'id': 'c8a87fcf-9bc2-457d-9863-41ff9746f0eb'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acb9db6d-d22e-4a19-bed7-4c33d45a27f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '5604d15e-bdd5-4645-92e6-bbd5bd24f0ba', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f9433fe-7fd2-4420-a16c-65c26bd21a95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.67 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot specify both port_uuid and portgroup_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True?fields=name,read_only {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2db9070-508a-46f2-81e2-a2b3deeae1ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.74 DEBUG util.py:445: {"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}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/fake_setting {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea229a43-b8fc-42f3-b697-2d8d81c7f357 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.74 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT:{'virtualization': {'created_at': '2024-03-18T10:50:51.775603+00:00', 'updated_at': None, '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'}]}} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ae7afcf3-8461-4e23-83e9-f6e3a3046e2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48e4eebb-e7b4-4c09-872c-f885a2927391 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/foo DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc5eb008-df13-44fa-8b94-e6e0297caff8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e4a83b0-2ed9-4136-a9d1-5dd901be0031 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '53cd109d-6ad1-4fc6-a095-e276967fe4cc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/53cd109d-6ad1-4fc6-a095-e276967fe4cc', 'rel': 'self'}, {'href': 'http://localhost/nodes/53cd109d-6ad1-4fc6-a095-e276967fe4cc', 'rel': 'bookmark'}]}, {'uuid': '3f09a7b3-8959-4a82-bde3-ad69cc7295d2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/3f09a7b3-8959-4a82-bde3-ad69cc7295d2', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f09a7b3-8959-4a82-bde3-ad69cc7295d2', 'rel': 'bookmark'}]}, {'uuid': '4de26f22-01d6-4303-b13f-becca4460a1b', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4de26f22-01d6-4303-b13f-becca4460a1b', 'rel': 'self'}, {'href': 'http://localhost/nodes/4de26f22-01d6-4303-b13f-becca4460a1b', '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=4de26f22-01d6-4303-b13f-becca4460a1b'} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.226816+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, '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.TestListNodes.test_detail [0.097723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.050265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.058072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.103759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.199193s] ... ok DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03818b70-cd99-4a05-9209-7204e808bcc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f6161cc-fef7-4881-8156-643edbfcd5ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af8a844a-8515-4273-845e-7096809a1167 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c278d45-11e3-4b0a-9bfd-00380f6c0da8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'invalid.event'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a48ceeeb-c561-46e4-8c87-68b3c3603021 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c3b46840-ff30-4547-986c-04449833585d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-8937962c-1537-4a52-bf74-f0e977295692 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'fe502c82-d4e8-4f11-99aa-2e7b44a3115b'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e03e3db9-741a-48ed-bdf8-a09adb77d5cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: POST: /v1/nodes/node-39/vifs {'id': 'f783cc1c-2571-430b-a4d2-d20a86fdadf3'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-fc239f64-f9ba-4729-b6f5-942a60a6b52f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'eb043fd3-7ae5-48c9-8b3e-52b8df43a6ff', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-52d02027-efa0-4391-8ffc-f36860008c33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: DELETE: /v1/nodes/node-39/vifs/c7bea9e2-89f1-4821-ad38-787bedd07749 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e76a4d54-6072-4826-95db-c8d725901d76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2024-03-18T10:50:51.901174+00:00', 'updated_at': None, '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'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT:{'virtualization': {'created_at': '2024-03-18T10:50:51.983122+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'attribute_type': 'Enumeration', 'allowable_values': ['on', 'off'], 'lower_bound': None, 'max_length': None, 'min_length': None, 'read_only': False, 'reset_required': True, 'unique': False, 'upper_bound': None, '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'}]}} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b513157e-0909-40af-82b1-65ecc087b7ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/foo.1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-38de0784-73e5-4512-882c-26ab863f0ed7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77be7dae-98c7-4cc1-8d1b-f38ab06409fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfb5e300-1fd6-4866-9b91-c200042c1861 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.043945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.059752s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.108337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.040072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.034323s] ... ok DEBUG util.py:445: GET: /v1/nodes?maintenance=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'ab94186c-9716-428c-b0c0-52873bc9e8ad', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ab94186c-9716-428c-b0c0-52873bc9e8ad', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab94186c-9716-428c-b0c0-52873bc9e8ad', 'rel': 'bookmark'}]}, {'uuid': '828ec97f-4b13-4e82-bd79-ba53d6c4cfb2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/828ec97f-4b13-4e82-bd79-ba53d6c4cfb2', 'rel': 'self'}, {'href': 'http://localhost/nodes/828ec97f-4b13-4e82-bd79-ba53d6c4cfb2', 'rel': 'bookmark'}]}, {'uuid': '757dded4-72a8-409a-888c-60296fd0a7f5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/757dded4-72a8-409a-888c-60296fd0a7f5', 'rel': 'self'}, {'href': 'http://localhost/nodes/757dded4-72a8-409a-888c-60296fd0a7f5', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=true&maintenance=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd686e978-18e3-4671-83a9-7fe69cc9a880', 'instance_uuid': 'f0afc3ac-cbab-4e94-94b7-4a1d6993642c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d686e978-18e3-4671-83a9-7fe69cc9a880', 'rel': 'self'}, {'href': 'http://localhost/nodes/d686e978-18e3-4671-83a9-7fe69cc9a880', 'rel': 'bookmark'}]}, {'uuid': '9981a2a5-4952-4c84-a5c4-ba620237fc0e', 'instance_uuid': '43831490-24ec-4da6-98f8-cfae996e7b9c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9981a2a5-4952-4c84-a5c4-ba620237fc0e', 'rel': 'self'}, {'href': 'http://localhost/nodes/9981a2a5-4952-4c84-a5c4-ba620237fc0e', 'rel': 'bookmark'}]}, {'uuid': '9baa91da-d4ef-438c-b371-2d593344b547', 'instance_uuid': '41741b8d-2a70-4afe-be54-38e30a45155c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9baa91da-d4ef-438c-b371-2d593344b547', 'rel': 'self'}, {'href': 'http://localhost/nodes/9baa91da-d4ef-438c-b371-2d593344b547', 'rel': 'bookmark'}]}, {'uuid': 'e4490479-6ff4-4f4f-a984-73a3cd9c0094', 'instance_uuid': '35678758-823c-4d1f-bc39-a825faca6530', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/e4490479-6ff4-4f4f-a984-73a3cd9c0094', 'rel': 'self'}, {'href': 'http://localhost/nodes/e4490479-6ff4-4f4f-a984-73a3cd9c0094', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=true&maintenance=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': 'f39a30d3-7453-421b-83f3-e090329927f6', 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=true&maintenance=TruE {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': 'f39a30d3-7453-421b-83f3-e090329927f6', 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9561b801-6975-46af-9731-228c424d2f8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.49 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.301689+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9 {} DEBUG util.py:445: GOT:{'uuid': 'aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9', 'created_at': '2024-03-18T10:50:52.364933+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'bios', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9', 'rel': 'self'}, {'href': 'http://localhost/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/aeb17e37-bdcf-4d5f-8729-7aa54a8c7dd9/volume', 'rel': 'bookmark'}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.089610s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.146076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.090272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.115214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.113261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.059948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.061508s] ... ok DEBUG util.py:445: GET: /v1/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37 {} DEBUG util.py:445: GOT:{'uuid': 'bc9a93af-62a3-4c2d-84dc-92c533aadb37', 'created_at': '2024-03-18T10:50:52.392763+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37', 'rel': 'self'}, {'href': 'http://localhost/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/bc9a93af-62a3-4c2d-84dc-92c533aadb37/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.544912+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.544912+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=fake {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44ff5474-88d2-46e4-9548-aec16926e206 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for instance_uuid: fake\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.046445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.036367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.145779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.104003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.033439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.103486s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.708212+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.708212+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751 {} DEBUG util.py:445: GOT:{'uuid': '3687a308-866e-4fb7-b73e-7c8e277c2751', 'created_at': '2024-03-18T10:50:52.779854+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, '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.1ad', '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': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687a308-866e-4fb7-b73e-7c8e277c2751/volume', 'rel': 'bookmark'}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.044194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.039948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.043552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.040379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.073886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.268558s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.034156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.059545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.036049s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.066225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.051570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.057275s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.180316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.064004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.122069s] ... ok DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-03-18T10:50:51.978793+00:00', 'updated_at': None, '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'}]]} DEBUG util.py:445: POST: /v1/chassis/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a9062f9-85af-40ac-b43d-f026ae7aee49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks?fields=hostname,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ac5602a-b766-4cc2-abbc-f0663c8c91c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'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} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-03-18T10:50:52.404566+00:00', 'updated_at': '2024-03-18T10:50:52.404314+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} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-03-18T10:50:52.404566+00:00', 'updated_at': '2024-03-18T10:50:52.404314+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} DEBUG util.py:445: GET: /conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-03-18T10:50:52.404566+00:00', 'updated_at': '2024-03-18T10:50:52.404314+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} DEBUG util.py:445: GET: /v1/conductors?detail=true {} DEBUG util.py:445: GOT:{'conductors': [{'created_at': '2024-03-18T10:50:52.585165+00:00', 'updated_at': '2024-03-18T10:50:52.584947+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': '2024-03-18T10:50:52.586506+00:00', 'updated_at': '2024-03-18T10:50:52.586350+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}]} DEBUG util.py:445: DELETE: /v1/deploy_templates/CUSTOM_DT1.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f4b02178-6ab6-43a8-8ff7-27cf63acf18a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/deploy_templates/d628801c-a39c-4c89-a6ed-f44803904a25 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-dc957ccb-2e32-459f-bed6-d0582c349c5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: GET: /v1/deploy_templates?detail=True {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'f590dcdf-363c-4a90-a00a-0f9207b27818', 'created_at': '2024-03-18T10:50:52.741429+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/f590dcdf-363c-4a90-a00a-0f9207b27818', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f590dcdf-363c-4a90-a00a-0f9207b27818', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '1504448e-763a-4703-af93-89220ab0e9d5', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/1504448e-763a-4703-af93-89220ab0e9d5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1504448e-763a-4703-af93-89220ab0e9d5', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?detail=False {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '1504448e-763a-4703-af93-89220ab0e9d5', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/1504448e-763a-4703-af93-89220ab0e9d5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1504448e-763a-4703-af93-89220ab0e9d5', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': []} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/337563d8-3e3b-4368-a59f-747bf3cb6cdd [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aea2b3c8-1e16-4df7-a4c1-d2a02c718be0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/7ee7f9e1-9d84-4f3d-82e6-d5a8060c1e55 [{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c36961d6-f0eb-4e84-a4fb-c1b504150c77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/50fe61e5-02c0-4f41-bcb8-929f9d6b7148 [{'path': '/steps/1', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ce50aca-e8bc-442e-b270-dcb210e43d0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "50fe61e5-02c0-4f41-bcb8-929f9d6b7148", "created_at": "2024-03-18T10:50:53.028814+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/50fe61e5-02c0-4f41-bcb8-929f9d6b7148", "rel": "self"}, {"href": "http://localhost/deploy_templates/50fe61e5-02c0-4f41-bcb8-929f9d6b7148", "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_deploy_template.TestPatch.test_remove_multi [0.054190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.039648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.035854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.039754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.032791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.038855s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.128399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.040429s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.821068+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'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'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.912584+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.912584+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '9613fff3-cb9f-42bc-ae76-be88ee78ff87', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/9613fff3-cb9f-42bc-ae76-be88ee78ff87', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9613fff3-cb9f-42bc-ae76-be88ee78ff87', 'rel': 'bookmark'}]}, {'uuid': 'a7c41537-8729-4d37-9419-b283b6526f0d', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/a7c41537-8729-4d37-9419-b283b6526f0d', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a7c41537-8729-4d37-9419-b283b6526f0d', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.110619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.069106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.128174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.034439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.031312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.302383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.094148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.029236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.032105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.056978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.130651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.102534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.054411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.050481s] ... ok DEBUG util.py:445: PATCH: /v1/deploy_templates/b21af0e1-a4e3-4e60-9471-d4ba8b80876b [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2faf5f6c-a906-4ec7-a48c-3913babe03dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/364ea105-c04c-4f2f-aa3a-be296bbf89a4 [{'path': '/steps/0', 'op': 'replace', 'value': {'interface': 'foo', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3afbffc-a7b9-4628-9ac1-a4cd850d839a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/6f2fa1ac-0564-4f9c-892c-72581f86f9a0 [{'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'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0208574a-f0da-4ffd-94a4-eba19020dc68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6f2fa1ac-0564-4f9c-892c-72581f86f9a0", "created_at": "2024-03-18T10:50:53.144382+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/6f2fa1ac-0564-4f9c-892c-72581f86f9a0", "rel": "self"}, {"href": "http://localhost/deploy_templates/6f2fa1ac-0564-4f9c-892c-72581f86f9a0", "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}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/8af92c4a-6fd0-4c1b-9c9f-5137a58e73f1 [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11f82552-c0af-40e8-a361-bf4e2fe9fc57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/d96d9ad3-ba5a-4f47-a9e2-1050d58ceb20 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6ffa4eb-8a34-4883-9dd3-39fffa1d5a3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d96d9ad3-ba5a-4f47-a9e2-1050d58ceb20", "created_at": "2024-03-18T10:50:53.216151+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d96d9ad3-ba5a-4f47-a9e2-1050d58ceb20", "rel": "self"}, {"href": "http://localhost/deploy_templates/d96d9ad3-ba5a-4f47-a9e2-1050d58ceb20", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/b5ec689a-6f11-4bf8-9477-dcccfd2b0725 [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e50e1c98-8320-452f-bc03-91644cd1a2bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b5ec689a-6f11-4bf8-9477-dcccfd2b0725", "created_at": "2024-03-18T10:50:53.257763+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b5ec689a-6f11-4bf8-9477-dcccfd2b0725", "rel": "self"}, {"href": "http://localhost/deploy_templates/b5ec689a-6f11-4bf8-9477-dcccfd2b0725", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/5b4a70b5-9139-4488-9d18-17d9952a36d6 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc049ae3-a077-4951-9210-314a122cd871 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 5b4a70b5-9139-4488-9d18-17d9952a36d6 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 42, 'uuid': '0cc50806-5db3-49ed-8781-8661dd8aef66', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97b00bf7-18a4-41a8-a30d-ff8edbc1c015 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '36445333-44fb-4872-a59b-28dd14a7a647', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10, 'foo': 'bar'}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24224ae9-eccd-4cef-a553-568a859b0159 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b976a320-e0e7-4c2c-a9b9-93b2dca4a990', 'steps': [{'interface': 'foo', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03cfad49-0ba4-4d73-8823-4fb3d0736609 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'cd7be02a-45a1-488a-a019-48095090210a', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e07dc65b-b838-43d5-bc46-07d87473c70a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.028295s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.027924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.029478s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.032277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.029486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.104913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.038099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.027012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.022260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.031815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.119678s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '9613fff3-cb9f-42bc-ae76-be88ee78ff87', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/9613fff3-cb9f-42bc-ae76-be88ee78ff87', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9613fff3-cb9f-42bc-ae76-be88ee78ff87', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=9613fff3-cb9f-42bc-ae76-be88ee78ff87'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=resource_class {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7a09bf0b-99a3-4359-9cbb-f57042659b5f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7a09bf0b-99a3-4359-9cbb-f57042659b5f', 'rel': 'self'}, {'href': 'http://localhost/nodes/7a09bf0b-99a3-4359-9cbb-f57042659b5f', 'rel': 'bookmark'}]}, {'uuid': '9f215398-575a-48e4-8456-b661dd9d8bb0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9f215398-575a-48e4-8456-b661dd9d8bb0', 'rel': 'self'}, {'href': 'http://localhost/nodes/9f215398-575a-48e4-8456-b661dd9d8bb0', 'rel': 'bookmark'}]}, {'uuid': '5bde32e3-3a88-4174-a9b4-627ec6b180af', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/5bde32e3-3a88-4174-a9b4-627ec6b180af', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bde32e3-3a88-4174-a9b4-627ec6b180af', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-757d03e5-53b7-4614-847c-5dc25bed9ee2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=properties {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-762762cc-0971-401c-ad30-86bdfbefd628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=driver_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-061217b2-7491-418f-9c7d-03f145ebc3e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61733cbd-8bff-4729-bc3d-3f10a0a25e4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=instance_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e27ddfa-01ed-48f6-99fa-8274af9ba759 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=driver_internal_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cdc963a-92ed-4891-a990-df99f44ac146 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=clean_step {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8736b540-5c71-4766-a0c5-d0871ac3529a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=traits {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee342f2b-3cdc-4a42-8eca-65871c21c805 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=resource_class {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dd78aa8-4896-4ab1-b4ca-a4853d516ba8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/validate?node=spam {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-870bfd0f-031a-4f1a-9550-79f7461ccc1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:53.592390+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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.TestListNodes.test_volume_subresource_link [0.080970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.098083s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.035456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.025563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.047026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.096192s] ... ok DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5829884-09d3-4f00-9d9d-8ef6789675bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-727c0e1f-ac27-45c3-98dc-675907d716ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.49 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?detail=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:52.445210+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, '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'}]}]} DEBUG util.py:445: GET: /v1/nodes?detail=True&fields=name {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cced8126-b3d5-461e-a272-dbd9f43fcdfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=17499351-03f5-4909-abb4-3b98bb75ba9b {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7b48426a-bb83-4b6d-b4e6-3fc9a35529d1', 'created_at': '2024-03-18T10:50:52.653756+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '17499351-03f5-4909-abb4-3b98bb75ba9b', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7b48426a-bb83-4b6d-b4e6-3fc9a35529d1', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b48426a-bb83-4b6d-b4e6-3fc9a35529d1', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/7b48426a-bb83-4b6d-b4e6-3fc9a35529d1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b48426a-bb83-4b6d-b4e6-3fc9a35529d1/ports', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=automated_clean {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes?fields=name&limit=2 {} DEBUG util.py:445: GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9779b7ff-3b52-436b-9a3c-194e3eb477ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/9779b7ff-3b52-436b-9a3c-194e3eb477ec', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b1571f38-7405-4470-a4b0-74bfa719e824', 'rel': 'self'}, {'href': 'http://localhost/nodes/b1571f38-7405-4470-a4b0-74bfa719e824', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=b1571f38-7405-4470-a4b0-74bfa719e824'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f065ea3-dd79-44c1-a393-cafc796ba03a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} DEBUG util.py:445: GET: /v1/nodes?conductor=rocky.rocks {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d59d5a3-fb91-41bf-8246-906c1142e701 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.49\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?driver=ipmi {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'edc2cfca-312d-405d-a669-f2b3208851c8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/edc2cfca-312d-405d-a669-f2b3208851c8', 'rel': 'self'}, {'href': 'http://localhost/nodes/edc2cfca-312d-405d-a669-f2b3208851c8', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?driver=fake-hardware {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'ab40f175-8f80-4bc1-8bfe-6dc9a6b548ff', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ab40f175-8f80-4bc1-8bfe-6dc9a6b548ff', 'rel': 'self'}, {'href': 'http://localhost/nodes/ab40f175-8f80-4bc1-8bfe-6dc9a6b548ff', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.387046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.101097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.082163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.083044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.035504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.107848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.091924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.036213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.055548s] ... ok DEBUG util.py:445: GET: /v1/nodes?associated=blah {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a82fea6-4005-48aa-b579-95b682492370 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=4e81e476-e035-4237-95c2-fea9cc137f3c {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1960a0fa-7458-4eca-879e-99044674e1f3', 'instance_uuid': '4e81e476-e035-4237-95c2-fea9cc137f3c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1960a0fa-7458-4eca-879e-99044674e1f3', 'rel': 'self'}, {'href': 'http://localhost/nodes/1960a0fa-7458-4eca-879e-99044674e1f3', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?project=54321 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56db1894-9a12-4e9e-98ca-50ae593dd9f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d93ddc1-dbb5-4324-9b9c-21a7bd2118c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: 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 {} DEBUG util.py:445: GOT:{'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: 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 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29c0fd86-4fc2-418f-865f-faa3c3ecd1d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/spam/management/boot_device {} DEBUG util.py:445: GOT:{'boot_device': 'pxe', 'persistent': True} DEBUG util.py:445: GET: /v1/nodes?fields=uuid,instance_info {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '832b2038-9cfa-49f6-abe9-8896d5970053', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/832b2038-9cfa-49f6-abe9-8896d5970053', 'rel': 'self'}, {'href': 'http://localhost/nodes/832b2038-9cfa-49f6-abe9-8896d5970053', 'rel': 'bookmark'}]}, {'uuid': 'b5727dec-0efa-4edb-8b83-059c903af7c4', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/b5727dec-0efa-4edb-8b83-059c903af7c4', 'rel': 'self'}, {'href': 'http://localhost/nodes/b5727dec-0efa-4edb-8b83-059c903af7c4', 'rel': 'bookmark'}]}, {'uuid': '3119ae60-ade4-4d81-86bb-8a4c621e625c', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/3119ae60-ade4-4d81-86bb-8a4c621e625c', 'rel': 'self'}, {'href': 'http://localhost/nodes/3119ae60-ade4-4d81-86bb-8a4c621e625c', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fields=uuid,power_state,target_power_state,provision_state,target_provision_state,last_error,maintenance,instance_uuid,traits,resource_class {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'dd99acc7-357a-4e1d-9cba-7408494a18a7', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '3abe07e1-5745-4113-afa0-0ba6e21ffc4d', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/dd99acc7-357a-4e1d-9cba-7408494a18a7', 'rel': 'self'}, {'href': 'http://localhost/nodes/dd99acc7-357a-4e1d-9cba-7408494a18a7', 'rel': 'bookmark'}]}, {'uuid': '3e126c79-f5a1-45e6-a2de-cfcd0c6e8867', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'cdf9a778-082b-4247-a3af-d46b8168d9e2', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/3e126c79-f5a1-45e6-a2de-cfcd0c6e8867', 'rel': 'self'}, {'href': 'http://localhost/nodes/3e126c79-f5a1-45e6-a2de-cfcd0c6e8867', 'rel': 'bookmark'}]}, {'uuid': '171e06ac-dff2-42ea-a55d-02a0514cfe70', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '48c233b1-d655-4871-8c33-237b7c5d81e3', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/171e06ac-dff2-42ea-a55d-02a0514cfe70', 'rel': 'self'}, {'href': 'http://localhost/nodes/171e06ac-dff2-42ea-a55d-02a0514cfe70', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60cbb8c8-71e4-48ab-b3bd-9f2dbb24cec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:{'console_enabled': False, 'console_info': None} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dda05de0-c89e-4a14-a75c-3affa04ad6f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} DEBUG util.py:445: GOT:{'state': 'on'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=lessee {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes?conductor_group=group1 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-072bdeca-1e30-4618-af46-fa9f111d2c51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group1 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d45c0b42-f8f9-42a9-941c-f5b154b81641 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.082265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.069034s] ... ok DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '1fa4615e-a094-4116-a8ef-28078fbf3941', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-504cc98f-ba10-400f-9a1e-d83bd9ee004d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': 'b25a7d5b-7a7e-4a29-b7ae-4d9ef3b0ae98', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/b25a7d5b-7a7e-4a29-b7ae-4d9ef3b0ae98 DEBUG util.py:445: Openstack-Request-Id: req-967c5346-927f-48a8-870f-84cfcb43dccd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b25a7d5b-7a7e-4a29-b7ae-4d9ef3b0ae98", "created_at": "2024-03-18T10:50:53.486008+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b25a7d5b-7a7e-4a29-b7ae-4d9ef3b0ae98", "rel": "self"}, {"href": "http://localhost/deploy_templates/b25a7d5b-7a7e-4a29-b7ae-4d9ef3b0ae98", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '0e172758-e9af-4e93-a6ef-4451ee36a2e5', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}], 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51cff50e-b873-4d0a-97cb-d9f0678133cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A deploy template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/manual-management/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07caed04-39ff-4bd8-bc3b-eb8e79585455 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/drivers/fake-hardware-type/vendor_passthru {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41320d9c-35fb-4343-a1bf-ee303cb6f59f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-4fe7af54-1f9c-4fce-9d36-dcabdb65d130 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/drivers?detail=true&fields=name,hosts {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-109bc7cb-3389-49d2-9e32-abadf1a30d8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?detail=False {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c352768-2943-42dc-aa69-e949dd76f1b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/nope {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9069941-2936-4bac-9e6a-e942208da37c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): nope.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': []} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:{'drivers': []} DEBUG util.py:445: GET: /v1/drivers?type=classic {} DEBUG util.py:445: GOT:{'drivers': []} DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {}{3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.066961s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.039164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.052674s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.057238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.034989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.181151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.016717s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.015008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.017299s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.274331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.031742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.026905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.034789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.192192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.119672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.042804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.041094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.026568s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.025694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.271018s] ... ok DEBUG util.py:445: GET: /v1/nodes?driver=fake {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bd8be05-d06c-4e0f-ba3e-ce8e6d556246 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?fault=power failure {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13dccaf8-c4c7-4ee4-bbdb-b3b5e216e42d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.41 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?fault=power failure {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-417cbca6-50fa-4ae2-926e-884b653177c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.41 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=test {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes?lessee=project1 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b95b41b3-4df9-4522-91e1-2658347bb4d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project1 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-baa3ce46-f8d6-4b52-9b4c-7d0309001145 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?owner=fred {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'ef107578-95eb-4631-9366-6b5c9d2378fd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?owner=bob {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7332b1c3-145d-4ef2-a5c7-f4418702233a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a', 'rel': 'self'}, {'href': 'http://localhost/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?owner=fred {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'ef107578-95eb-4631-9366-6b5c9d2378fd', 'created_at': '2024-03-18T10:50:54.133332+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': 'fred', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef107578-95eb-4631-9366-6b5c9d2378fd/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?owner=bob {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7332b1c3-145d-4ef2-a5c7-f4418702233a', 'created_at': '2024-03-18T10:50:54.145262+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': 'bob', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a', 'rel': 'self'}, {'href': 'http://localhost/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7332b1c3-145d-4ef2-a5c7-f4418702233a/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?provision_state=available {}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.186803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.032599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.027157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.049199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.217160s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.086812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.049030s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.045612s] ... ok DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type-2 {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type?fields=name,invalid {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91655520-a36f-4a61-bf4e-e102172b9882 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4b65468-be8e-48de-874f-eca143778525 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.4 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0885f73-0382-4406-b54a-7ad21f0ca2b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ad88d5fe-9f9c-476b-b423-0e48a9092bac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d4522654-0bf0-443b-badb-c6fb9a794455 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38efe706-001e-47e1-bfd8-ea28452f2787 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e59438bd-2f06-4c35-bd96-8bf8826e2ae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a69560ea-ceac-4df1-b212-380f6c7746c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5c912ba-edd7-4191-b73c-521bcb67adb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.025179s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.030751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.146421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.065941s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.078602s] ... ok DEBUG util.py:445: GET: /v1/nodes?conductor=like.shadows {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes?conductor=like.shadows {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes?conductor=fake.conductor {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96fe9183-cc2f-4577-bd34-3b74c33a2b25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.49 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Some unexpected thing happened\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?fault=power failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3b426f03-7e21-4128-8876-1fb0fb60985b', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fault=clean failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3f5138ad-e1ae-427e-8494-02a83ab13e75', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?fault=power failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3b426f03-7e21-4128-8876-1fb0fb60985b', 'created_at': '2024-03-18T10:50:54.227949+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': 'power failure', 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b426f03-7e21-4128-8876-1fb0fb60985b/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?fault=clean failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3f5138ad-e1ae-427e-8494-02a83ab13e75', 'created_at': '2024-03-18T10:50:54.236573+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': 'clean failure', 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f5138ad-e1ae-427e-8494-02a83ab13e75/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fault=somefake {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0be545f8-5f3f-4ab9-940c-1e5e6c6f1948 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.42 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?fault=somefake {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6af2bbca-5402-44f5-9d1b-27cdcb235831 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.42 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=owner {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5b7e916-3060-47b7-9f29-7e5e4fd67e19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.088300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.094729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.159375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.034444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.076992s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '13c2d639-880e-4365-8c4d-ec61c5fca7e5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/13c2d639-880e-4365-8c4d-ec61c5fca7e5', 'rel': 'self'}, {'href': 'http://localhost/nodes/13c2d639-880e-4365-8c4d-ec61c5fca7e5', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?provision_state=deploying {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'bb684568-68f1-4ef0-9e14-592ac9c8a6fd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'deploying', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/bb684568-68f1-4ef0-9e14-592ac9c8a6fd', 'rel': 'self'}, {'href': 'http://localhost/nodes/bb684568-68f1-4ef0-9e14-592ac9c8a6fd', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=fake {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d97a2227-2890-457a-87cf-bb626b0ac229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eecca4fe-2a46-410c-9c27-426fdd727895 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.623081+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'agent_secret_token': '******'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=protected {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67056679-b53f-427b-9006-6e75ef024e07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.816903+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.816903+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.056748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.119875s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.695163+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.695163+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': 'useful piece', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.789958+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.789958+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': '2015-03-18T19:20:00+00:00', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.866800+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.134780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.090389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.147341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.097365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.076472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.148349s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?detail=true {} DEBUG util.py:445: GOT:{'history': [{'uuid': 'dfd06332-59ec-49f1-9cdd-26c14c0cb38c', 'created_at': '2024-03-18T10:50:53.695104+00:00', 'severity': None, 'event_type': None, 'event': 'meow', 'conductor': 'cat-tree1', 'user': 'peaches', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/dfd06332-59ec-49f1-9cdd-26c14c0cb38c', 'rel': 'self'}]}, {'uuid': '5d780783-3af7-442d-b705-81b82635a11f', 'created_at': '2024-03-18T10:50:53.696356+00:00', 'severity': None, 'event_type': None, 'event': 'purr', 'conductor': 'cat-tree2', 'user': 'sage', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/5d780783-3af7-442d-b705-81b82635a11f', 'rel': 'self'}]}, {'uuid': '6727b7ae-2ad2-4f40-bb52-57eaf27c26ca', 'created_at': '2024-03-18T10:50:53.697252+00:00', 'severity': None, 'event_type': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!', 'conductor': 'cat-tree3', 'user': 'bella', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6727b7ae-2ad2-4f40-bb52-57eaf27c26ca', 'rel': 'self'}]}]} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-528d2849-ab5a-4e41-a7a3-f462a9f29917 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'maintenance'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bab83294-7c1e-40ee-a21f-601c578ddf2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'management'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b09a6a80-265d-4ba4-8c13-767d36461521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'states'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad0c9fb2-9a92-45d2-b590-76c92bd698b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'vendor_passthru'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80b9a895-511b-4560-b3ac-f9c879d52a37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'detail'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa1ae053-5b1c-4a26-ba3a-7d968a985d46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'validate'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1eea0352-98bc-43f9-b3d1-a60696fc5fc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-408de990-089d-408c-9089-b6c1dd3bb6d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'guido-van-rossum'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f61ad8fd-9f82-4154-9281-ab0b5807b225 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:54.368367+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/acb613bb-a5e9-45c8-a203-96d358800959 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8588cb0c-0b12-426c-9f44-9b865ac35f41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "acb613bb-a5e9-45c8-a203-96d358800959", "created_at": "2024-03-18T10:50:54.722200+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, "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", "cpus": "8", "local_gb": "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/acb613bb-a5e9-45c8-a203-96d358800959", "rel": "self"}, {"href": "http://localhost/nodes/acb613bb-a5e9-45c8-a203-96d358800959", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/acb613bb-a5e9-45c8-a203-96d358800959/ports", "rel": "self"}, {"href": "http://localhost/nodes/acb613bb-a5e9-45c8-a203-96d358800959/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/acb613bb-a5e9-45c8-a203-96d358800959/states", "rel": "self"}, {"href": "http://localhost/nodes/acb613bb-a5e9-45c8-a203-96d358800959/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/acb613bb-a5e9-45c8-a203-96d358800959/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/acb613bb-a5e9-45c8-a203-96d358800959/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/acb613bb-a5e9-45c8-a203-96d358800959/volume", "rel": "self"}, {"href": "http://localhost/nodes/acb613bb-a5e9-45c8-a203-96d358800959/volume", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.347997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.248008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.053221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.041698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.135875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.047182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.048210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.117328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.041060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.073063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.079564s] ... ok DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.866800+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': ['CUSTOM_1'], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]}]} DEBUG util.py:445: GET: /v1/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f {} DEBUG util.py:445: GOT:{'uuid': '9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'created_at': '2024-03-18T10:50:54.989188+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://foo/v1/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'rel': 'self'}, {'href': 'http://foo/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f {} DEBUG util.py:445: GOT:{'uuid': '9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'created_at': '2024-03-18T10:50:54.989188+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://foo/v1/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'rel': 'self'}, {'href': 'http://foo/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f {} DEBUG util.py:445: GOT:{'uuid': '9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'created_at': '2024-03-18T10:50:54.989188+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://foo/v1/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'rel': 'self'}, {'href': 'http://foo/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/9f91f74b-6fc3-4997-b7fe-eefa5c91732f/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.125941+00:00', 'updated_at': None, 'automated_clean': False, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.254874+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.133445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.103338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.063807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.090291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.049115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.038984s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.896030+00:00', 'updated_at': None, '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': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:54.896030+00:00', 'updated_at': None, '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': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': 'fish', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.041790+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.041790+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': 'cinder', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-693c1e96-4115-4350-9e5a-ca25a4a58b3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?project=54321 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9c07d3c-24cb-4920-8496-c3c6a797aa73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '005ac091-6941-4444-a7ec-7c87cf03a4bf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/005ac091-6941-4444-a7ec-7c87cf03a4bf', 'rel': 'self'}, {'href': 'http://localhost/nodes/005ac091-6941-4444-a7ec-7c87cf03a4bf', 'rel': 'bookmark'}]}, {'uuid': 'f404aeb3-d6e9-4564-8eb2-c68fd8077ab4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f404aeb3-d6e9-4564-8eb2-c68fd8077ab4', 'rel': 'self'}, {'href': 'http://localhost/nodes/f404aeb3-d6e9-4564-8eb2-c68fd8077ab4', 'rel': 'bookmark'}]}, {'uuid': '1ebcac84-cd35-4f00-a866-36f99f224522', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1ebcac84-cd35-4f00-a866-36f99f224522', 'rel': 'self'}, {'href': 'http://localhost/nodes/1ebcac84-cd35-4f00-a866-36f99f224522', 'rel': 'bookmark'}]}, {'uuid': '176ef210-2a5b-4892-ac2f-30a9207e391c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/176ef210-2a5b-4892-ac2f-30a9207e391c', 'rel': 'self'}, {'href': 'http://localhost/nodes/176ef210-2a5b-4892-ac2f-30a9207e391c', 'rel': 'bookmark'}]}, {'uuid': 'e0f61295-93d4-4a9f-86f8-bb0e7001fe80', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/e0f61295-93d4-4a9f-86f8-bb0e7001fe80', 'rel': 'self'}, {'href': 'http://localhost/nodes/e0f61295-93d4-4a9f-86f8-bb0e7001fe80', 'rel': 'bookmark'}]}, {'uuid': '6192b8e0-4493-4921-8974-f4fc58f62a0d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6192b8e0-4493-4921-8974-f4fc58f62a0d', 'rel': 'self'}, {'href': 'http://localhost/nodes/6192b8e0-4493-4921-8974-f4fc58f62a0d', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.191440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.020902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.019163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.019073s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.032712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.034019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.219151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.040867s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35045204-b939-4d2a-82be-bc744164f0b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e", "created_at": "2024-03-18T10:50:55.038108+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", "cpus": "8", "local_gb": "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/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e", "rel": "self"}, {"href": "http://localhost/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e/ports", "rel": "self"}, {"href": "http://localhost/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e/states", "rel": "self"}, {"href": "http://localhost/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e/volume", "rel": "self"}, {"href": "http://localhost/nodes/b9ac17c0-7a68-41a9-8cec-f3c0515c9c7e/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bfd179c-3599-4473-a57a-b664741c3cd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'Windows ME'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-237c95a0-3187-4f2b-a16b-c96800f8582f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'node-0'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bcf52cb-0aa1-490d-82b8-f4e1a3f45e59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65a3af32-d68b-4eff-b759-24ac3fd0b472 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:55.284978+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/last_error', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2154d4d-5429-4e2f-a132-5f988d7b9b85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56aacd5e-9649-4761-a4be-025db82973ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:55.456743+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", "cpus": "8", "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.TestPatch.test_remove_ok [0.141342s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.254874+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.368403+00:00', 'updated_at': None, 'automated_clean': True, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.473236+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.473236+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.152002s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.122998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.036791s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.248623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.164023s] ... ok DEBUG util.py:445: POST: /v1/events {'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'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25e1bca7-8024-4277-a6a0-6a21f89e15ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c51b6fed-80e6-4d5a-a6b0-0718773734eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/node-39/vifs {'id': 'acb8fe1f-15a5-4bd2-9fd6-c8861b462892'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12e83f91-43c3-439e-b7d1-1e4e8c0ba181 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"boom\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'invalid%id^'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2142f5bc-db41-41ae-900e-41a93b01ee2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID or name for id: invalid%id^\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': 'e23ba564-e070-478e-adaa-eb320c6439c4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8604e759-dab9-4dea-9bd9-6ffb8e18c050 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vif: 'id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'fe201f9a-2c8f-4827-bfdb-1491b3795fef'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e31fdcaf-0d26-4af0-b908-a5a07b36183e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/f7374685-8f4d-450a-8c94-e1d855faa435 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cad8f908-6a95-46a0-b982-7f0280d8841a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/doesntexist/vifs/3c948b19-31bb-44a3-93d6-474d3a6782a8 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be8ef726-140b-48a0-a529-9a2a9f745f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:{'vifs': []} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=False {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2024-03-18T10:50:55.417427+00:00', 'updated_at': None, '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'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a3d71ef-16f8-4e04-ae4e-7089917204bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?fields=['name', 'read_only'] received.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-17e9fa50-700c-4541-8335-5654c9c72360 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: DELETE: /v1/nodes/foo/maintenance DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-1977b716-ef26-43aa-a85d-e0eff0092aec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1650a936-c6e0-4e77-820a-47e5caa76d90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fb16ce1-3b61-4aef-8b0b-9c9bdb1ec2d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd85e4262-3684-45e5-b07c-8dac04f05a1a', 'instance_uuid': 'e946a433-f171-4215-b36b-5e7505733474', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d85e4262-3684-45e5-b07c-8dac04f05a1a', 'rel': 'self'}, {'href': 'http://localhost/nodes/d85e4262-3684-45e5-b07c-8dac04f05a1a', 'rel': 'bookmark'}]}, {'uuid': '6eca5ba3-9428-467a-9a3e-c23e1f1a0019', 'instance_uuid': '4465d45d-451c-45d5-9c51-e7b44f3d585c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6eca5ba3-9428-467a-9a3e-c23e1f1a0019', 'rel': 'self'}, {'href': 'http://localhost/nodes/6eca5ba3-9428-467a-9a3e-c23e1f1a0019', 'rel': 'bookmark'}]}, {'uuid': '0a22670b-fd66-481c-887f-5c37ab12cf8f', 'instance_uuid': '74fbd4fa-26c3-49d3-b70d-e4d2bb3b60b1', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0a22670b-fd66-481c-887f-5c37ab12cf8f', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a22670b-fd66-481c-887f-5c37ab12cf8f', 'rel': 'bookmark'}]}, {'uuid': '78edd233-e0b1-4619-8e48-e14762d09bfc', 'instance_uuid': '04f0c8a5-2ac2-40e7-97a8-1a93c98b0c4b', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/78edd233-e0b1-4619-8e48-e14762d09bfc', 'rel': 'self'}, {'href': 'http://localhost/nodes/78edd233-e0b1-4619-8e48-e14762d09bfc', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd85e4262-3684-45e5-b07c-8dac04f05a1a', 'instance_uuid': 'e946a433-f171-4215-b36b-5e7505733474', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d85e4262-3684-45e5-b07c-8dac04f05a1a', 'rel': 'self'}, {'href': 'http://localhost/nodes/d85e4262-3684-45e5-b07c-8dac04f05a1a', 'rel': 'bookmark'}]}, {'uuid': '6eca5ba3-9428-467a-9a3e-c23e1f1a0019', 'instance_uuid': '4465d45d-451c-45d5-9c51-e7b44f3d585c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6eca5ba3-9428-467a-9a3e-c23e1f1a0019', 'rel': 'self'}, {'href': 'http://localhost/nodes/6eca5ba3-9428-467a-9a3e-c23e1f1a0019', 'rel': 'bookmark'}]}, {'uuid': '0a22670b-fd66-481c-887f-5c37ab12cf8f', 'instance_uuid': '74fbd4fa-26c3-49d3-b70d-e4d2bb3b60b1', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0a22670b-fd66-481c-887f-5c37ab12cf8f', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a22670b-fd66-481c-887f-5c37ab12cf8f', 'rel': 'bookmark'}]}, {'uuid': '78edd233-e0b1-4619-8e48-e14762d09bfc', 'instance_uuid': '04f0c8a5-2ac2-40e7-97a8-1a93c98b0c4b', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/78edd233-e0b1-4619-8e48-e14762d09bfc', 'rel': 'self'}, {'href': 'http://localhost/nodes/78edd233-e0b1-4619-8e48-e14762d09bfc', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.071972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.053977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.060990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.047497s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.604451+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.604451+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.722816+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.722816+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.078227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.065165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.081394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.043828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.176381s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.073805s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.053968s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.250829s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.793456+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.865566+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'some-lucky-project', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.947937+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': 'akindofmagic', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1 {} DEBUG util.py:445: GOT:{'uuid': '3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1', 'created_at': '2024-03-18T10:50:56.007996+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': True, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3ead712d-f3c5-48d6-ad2b-4ac038ab7bd1/volume', 'rel': 'bookmark'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.061374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.078344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.260530s] ... ok DEBUG util.py:445: GET: /v1/nodes/?limit=3 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '5623e012-de04-4b2b-93c5-7c74c4551e6e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/5623e012-de04-4b2b-93c5-7c74c4551e6e', 'rel': 'self'}, {'href': 'http://localhost/nodes/5623e012-de04-4b2b-93c5-7c74c4551e6e', 'rel': 'bookmark'}]}, {'uuid': '51030832-ad1d-4509-b92a-ca8bfada4974', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/51030832-ad1d-4509-b92a-ca8bfada4974', 'rel': 'self'}, {'href': 'http://localhost/nodes/51030832-ad1d-4509-b92a-ca8bfada4974', 'rel': 'bookmark'}]}, {'uuid': 'baa6fe16-1060-4c8b-891f-5c2f6a25769f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/baa6fe16-1060-4c8b-891f-5c2f6a25769f', 'rel': 'self'}, {'href': 'http://localhost/nodes/baa6fe16-1060-4c8b-891f-5c2f6a25769f', '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=baa6fe16-1060-4c8b-891f-5c2f6a25769f'} DEBUG util.py:445: GET: /v1/nodes?fields=driver_info,uuid {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '583b706f-dd71-48fb-a4a8-061d1fdaf5c3', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/583b706f-dd71-48fb-a4a8-061d1fdaf5c3', 'rel': 'self'}, {'href': 'http://localhost/nodes/583b706f-dd71-48fb-a4a8-061d1fdaf5c3', 'rel': 'bookmark'}]}, {'uuid': '4d02f5bd-6d08-4b4a-b71b-ef61719a5165', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/4d02f5bd-6d08-4b4a-b71b-ef61719a5165', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d02f5bd-6d08-4b4a-b71b-ef61719a5165', 'rel': 'bookmark'}]}, {'uuid': '99f34643-911b-4f02-9b17-d5491dc66516', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/99f34643-911b-4f02-9b17-d5491dc66516', 'rel': 'self'}, {'href': 'http://localhost/nodes/99f34643-911b-4f02-9b17-d5491dc66516', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=99f34643-911b-4f02-9b17-d5491dc66516'} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.893593+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d', 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.938523+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d', 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': '46c0bf8a-846d-49a5-9724-5a61a5efa6bf', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd6209863-f8de-4492-bc9e-9dc313beefba', 'created_at': '2024-03-18T10:50:55.982676+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': '12345', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/d6209863-f8de-4492-bc9e-9dc313beefba', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6209863-f8de-4492-bc9e-9dc313beefba', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d6209863-f8de-4492-bc9e-9dc313beefba/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6209863-f8de-4492-bc9e-9dc313beefba/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d6209863-f8de-4492-bc9e-9dc313beefba/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6209863-f8de-4492-bc9e-9dc313beefba/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d6209863-f8de-4492-bc9e-9dc313beefba/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6209863-f8de-4492-bc9e-9dc313beefba/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d6209863-f8de-4492-bc9e-9dc313beefba/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6209863-f8de-4492-bc9e-9dc313beefba/volume', 'rel': 'bookmark'}]}, {'uuid': '05a9219c-d741-445c-b8a0-226cf740979a', 'created_at': '2024-03-18T10:50:55.985903+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': '12345', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/05a9219c-d741-445c-b8a0-226cf740979a', 'rel': 'self'}, {'href': 'http://localhost/nodes/05a9219c-d741-445c-b8a0-226cf740979a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/05a9219c-d741-445c-b8a0-226cf740979a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/05a9219c-d741-445c-b8a0-226cf740979a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/05a9219c-d741-445c-b8a0-226cf740979a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/05a9219c-d741-445c-b8a0-226cf740979a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/05a9219c-d741-445c-b8a0-226cf740979a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/05a9219c-d741-445c-b8a0-226cf740979a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/05a9219c-d741-445c-b8a0-226cf740979a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/05a9219c-d741-445c-b8a0-226cf740979a/volume', 'rel': 'bookmark'}]}, {'uuid': 'c27a1c1f-79bd-46e9-b45a-3cb60b73be07', 'created_at': '2024-03-18T10:50:55.988813+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': '12345', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07', 'rel': 'self'}, {'href': 'http://localhost/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c27a1c1f-79bd-46e9-b45a-3cb60b73be07/volume', 'rel': 'bookmark'}]}, {'uuid': '1e1c0914-0284-4e40-b7a8-8361c8df58f3', 'created_at': '2024-03-18T10:50:55.994874+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': '12345', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3', 'rel': 'self'}, {'href': 'http://localhost/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1e1c0914-0284-4e40-b7a8-8361c8df58f3/volume', 'rel': 'bookmark'}]}, {'uuid': 'fd845359-3c05-40e9-9ed8-20cb4d92b674', 'created_at': '2024-03-18T10:50:55.997719+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': '12345', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd845359-3c05-40e9-9ed8-20cb4d92b674/volume', 'rel': 'bookmark'}]}, {'uuid': '5320c62b-d548-4035-beb3-da0ee7661b58', 'created_at': '2024-03-18T10:50:56.000499+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': '12345', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/5320c62b-d548-4035-beb3-da0ee7661b58', 'rel': 'self'}, {'href': 'http://localhost/nodes/5320c62b-d548-4035-beb3-da0ee7661b58', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5320c62b-d548-4035-beb3-da0ee7661b58/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5320c62b-d548-4035-beb3-da0ee7661b58/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/5320c62b-d548-4035-beb3-da0ee7661b58/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/5320c62b-d548-4035-beb3-da0ee7661b58/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/5320c62b-d548-4035-beb3-da0ee7661b58/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/5320c62b-d548-4035-beb3-da0ee7661b58/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/5320c62b-d548-4035-beb3-da0ee7661b58/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/5320c62b-d548-4035-beb3-da0ee7661b58/volume', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.077379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.062569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.178735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.101115s] ... ok DEBUG util.py:445: GET: /v1/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7 {} DEBUG util.py:445: GOT:{'uuid': '5fe6d5b5-72e2-4649-ac15-25b84c22a4c7', 'created_at': '2024-03-18T10:50:56.029888+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7', 'rel': 'self'}, {'href': 'http://localhost/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/5fe6d5b5-72e2-4649-ac15-25b84c22a4c7/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.072926+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.072926+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.173762+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': True, 'protected_reason': 'reason!', 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.095027s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.155149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.106245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.067247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.073318s] ... ok DEBUG util.py:445: GET: /v1/nodes/87500332-9934-42bc-83cd-d1ab7acf0516 {} DEBUG util.py:445: GOT:{'uuid': '87500332-9934-42bc-83cd-d1ab7acf0516', 'created_at': '2024-03-18T10:50:56.263368+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': True, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/87500332-9934-42bc-83cd-d1ab7acf0516', 'rel': 'self'}, {'href': 'http://localhost/nodes/87500332-9934-42bc-83cd-d1ab7acf0516', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/87500332-9934-42bc-83cd-d1ab7acf0516/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/87500332-9934-42bc-83cd-d1ab7acf0516/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/87500332-9934-42bc-83cd-d1ab7acf0516/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/87500332-9934-42bc-83cd-d1ab7acf0516/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/87500332-9934-42bc-83cd-d1ab7acf0516/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/87500332-9934-42bc-83cd-d1ab7acf0516/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/87500332-9934-42bc-83cd-d1ab7acf0516/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/87500332-9934-42bc-83cd-d1ab7acf0516/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28 {} DEBUG util.py:445: GOT:{'uuid': 'a18ea8f8-d0b3-46f7-86f1-d9deab209f28', 'created_at': '2024-03-18T10:50:56.323561+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28', 'rel': 'self'}, {'href': 'http://localhost/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a18ea8f8-d0b3-46f7-86f1-d9deab209f28/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.439237+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.439237+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.136437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.044078s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'op': 'replace', 'value': True}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cfa3f49-edda-4b96-a310-d056edaab703 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:55.601692+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/da365724-890c-4145-87a7-0ea21bc24148 [{'path': '/network_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83819658-8577-4b41-b942-cafb33f6aa28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "da365724-890c-4145-87a7-0ea21bc24148", "created_at": "2024-03-18T10:50:55.870996+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", "cpus": "8", "local_gb": "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/da365724-890c-4145-87a7-0ea21bc24148", "rel": "self"}, {"href": "http://localhost/nodes/da365724-890c-4145-87a7-0ea21bc24148", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/da365724-890c-4145-87a7-0ea21bc24148/ports", "rel": "self"}, {"href": "http://localhost/nodes/da365724-890c-4145-87a7-0ea21bc24148/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/da365724-890c-4145-87a7-0ea21bc24148/states", "rel": "self"}, {"href": "http://localhost/nodes/da365724-890c-4145-87a7-0ea21bc24148/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/da365724-890c-4145-87a7-0ea21bc24148/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/da365724-890c-4145-87a7-0ea21bc24148/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/da365724-890c-4145-87a7-0ea21bc24148/volume", "rel": "self"}, {"href": "http://localhost/nodes/da365724-890c-4145-87a7-0ea21bc24148/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/9de09a70-d19c-4ac8-890b-c969f9ed7ba3 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2ca4a15-aa92-4551-8c51-a7a37adbee09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "9de09a70-d19c-4ac8-890b-c969f9ed7ba3", "created_at": "2024-03-18T10:50:56.208734+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", "cpus": "8", "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/9de09a70-d19c-4ac8-890b-c969f9ed7ba3", "rel": "self"}, {"href": "http://localhost/nodes/9de09a70-d19c-4ac8-890b-c969f9ed7ba3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9de09a70-d19c-4ac8-890b-c969f9ed7ba3/ports", "rel": "self"}, {"href": "http://localhost/nodes/9de09a70-d19c-4ac8-890b-c969f9ed7ba3/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/23df075e-0ad9-4f8a-9611-09daaf52437a [{'path': '/automated_clean', 'value': False, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97b5a707-cebd-4095-bbe2-5067b6171f06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.47 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d0a7f75-fedb-40bd-97d1-3bfafa0d9ed9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "250bb35a-767b-47ae-a566-1cd9c93cce66", "created_at": "2024-03-18T10:50:56.529827+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", "cpus": "8", "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/250bb35a-767b-47ae-a566-1cd9c93cce66", "rel": "self"}, {"href": "http://localhost/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66/ports", "rel": "self"}, {"href": "http://localhost/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66/states", "rel": "self"}, {"href": "http://localhost/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66/volume", "rel": "self"}, {"href": "http://localhost/nodes/250bb35a-767b-47ae-a566-1cd9c93cce66/volume", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.184911s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.463598+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:55.463598+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/detail?limit=3&associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd49d3421-a4ba-4782-a627-97ee072b49ae', 'created_at': '2024-03-18T10:50:55.716821+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': 'd4c780cb-2d3c-4c19-8e67-4e21ae02e794', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d49d3421-a4ba-4782-a627-97ee072b49ae', 'rel': 'self'}, {'href': 'http://localhost/nodes/d49d3421-a4ba-4782-a627-97ee072b49ae', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d49d3421-a4ba-4782-a627-97ee072b49ae/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d49d3421-a4ba-4782-a627-97ee072b49ae/ports', 'rel': 'bookmark'}]}, {'uuid': 'd022c10f-580a-4b66-abca-53a94e08d46b', 'created_at': '2024-03-18T10:50:55.727831+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '33cedbd7-b001-424c-958b-c3072cfb7fc0', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d022c10f-580a-4b66-abca-53a94e08d46b', 'rel': 'self'}, {'href': 'http://localhost/nodes/d022c10f-580a-4b66-abca-53a94e08d46b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d022c10f-580a-4b66-abca-53a94e08d46b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d022c10f-580a-4b66-abca-53a94e08d46b/ports', 'rel': 'bookmark'}]}, {'uuid': '799c53ef-5148-41cb-906f-626ad9cf71a0', 'created_at': '2024-03-18T10:50:55.730779+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': 'f62badd0-bd5e-48f7-bdc1-589e1eb5aff2', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/799c53ef-5148-41cb-906f-626ad9cf71a0', 'rel': 'self'}, {'href': 'http://localhost/nodes/799c53ef-5148-41cb-906f-626ad9cf71a0', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/799c53ef-5148-41cb-906f-626ad9cf71a0/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/799c53ef-5148-41cb-906f-626ad9cf71a0/ports', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=799c53ef-5148-41cb-906f-626ad9cf71a0'} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=133d1975-9a26-47d5-b4f8-3a866b71ea6e {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '423f9080-2ca2-4a01-a3f5-610dd60c63a3', 'instance_uuid': '133d1975-9a26-47d5-b4f8-3a866b71ea6e', 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/423f9080-2ca2-4a01-a3f5-610dd60c63a3', 'rel': 'self'}, {'href': 'http://localhost/nodes/423f9080-2ca2-4a01-a3f5-610dd60c63a3', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=6596e5a6-82b3-43d9-93e8-9ad4d44355eb {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.139456+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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.TestListNodes.test_node_description_null_field [0.190199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.099053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.138145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.216566s] ... ok DEBUG util.py:445: GET: /v1/nodes/detail?associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '5fe4ae24-faa9-4c5e-9e18-5f5e8e49c10b', 'created_at': '2024-03-18T10:50:56.069569+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': 'af863f0e-4156-4be4-82d7-b25d172e5710', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/5fe4ae24-faa9-4c5e-9e18-5f5e8e49c10b', 'rel': 'self'}, {'href': 'http://localhost/nodes/5fe4ae24-faa9-4c5e-9e18-5f5e8e49c10b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5fe4ae24-faa9-4c5e-9e18-5f5e8e49c10b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5fe4ae24-faa9-4c5e-9e18-5f5e8e49c10b/ports', 'rel': 'bookmark'}]}, {'uuid': '206f8335-252a-444b-8c2a-a0d53f61053c', 'created_at': '2024-03-18T10:50:56.072399+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': 'be315d9e-ff2a-4e90-a377-4fe869a8587b', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/206f8335-252a-444b-8c2a-a0d53f61053c', 'rel': 'self'}, {'href': 'http://localhost/nodes/206f8335-252a-444b-8c2a-a0d53f61053c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/206f8335-252a-444b-8c2a-a0d53f61053c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/206f8335-252a-444b-8c2a-a0d53f61053c/ports', 'rel': 'bookmark'}]}, {'uuid': '1173a620-ce0e-4351-9247-85c9583be0de', 'created_at': '2024-03-18T10:50:56.075541+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '8439c512-f9ec-448a-b8ec-a4904b2ee77f', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1173a620-ce0e-4351-9247-85c9583be0de', 'rel': 'self'}, {'href': 'http://localhost/nodes/1173a620-ce0e-4351-9247-85c9583be0de', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1173a620-ce0e-4351-9247-85c9583be0de/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1173a620-ce0e-4351-9247-85c9583be0de/ports', 'rel': 'bookmark'}]}, {'uuid': 'cf20c0e6-0eaf-4c45-9e1c-081e87aec6d9', 'created_at': '2024-03-18T10:50:56.078300+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': 'b20b2ffe-9646-4fba-9c6f-d2a15b632f48', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/cf20c0e6-0eaf-4c45-9e1c-081e87aec6d9', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf20c0e6-0eaf-4c45-9e1c-081e87aec6d9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/cf20c0e6-0eaf-4c45-9e1c-081e87aec6d9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf20c0e6-0eaf-4c45-9e1c-081e87aec6d9/ports', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:{'boot_device': 'pxe', 'persistent': True} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36fdcf47-06e3-4b57-89de-cd1cf0a3b72e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} DEBUG util.py:445: GOT:{'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'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d758bf10-4212-40e9-98e0-eb117b910306 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} DEBUG util.py:445: GOT:{'network_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?conductor_group=group1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '70b5223e-493a-4aca-be3f-3b16fb313202', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/70b5223e-493a-4aca-be3f-3b16fb313202', 'rel': 'self'}, {'href': 'http://localhost/nodes/70b5223e-493a-4aca-be3f-3b16fb313202', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor_group=group2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '33489c5b-6b12-429c-b972-c0a212783f51', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/33489c5b-6b12-429c-b972-c0a212783f51', 'rel': 'self'}, {'href': 'http://localhost/nodes/33489c5b-6b12-429c-b972-c0a212783f51', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '70b5223e-493a-4aca-be3f-3b16fb313202', 'created_at': '2024-03-18T10:50:56.623775+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': 'group1', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/70b5223e-493a-4aca-be3f-3b16fb313202', 'rel': 'self'}, {'href': 'http://localhost/nodes/70b5223e-493a-4aca-be3f-3b16fb313202', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/70b5223e-493a-4aca-be3f-3b16fb313202/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/70b5223e-493a-4aca-be3f-3b16fb313202/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/70b5223e-493a-4aca-be3f-3b16fb313202/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/70b5223e-493a-4aca-be3f-3b16fb313202/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/70b5223e-493a-4aca-be3f-3b16fb313202/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/70b5223e-493a-4aca-be3f-3b16fb313202/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/70b5223e-493a-4aca-be3f-3b16fb313202/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/70b5223e-493a-4aca-be3f-3b16fb313202/volume', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.117256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.037833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.038398s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.210506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.076493s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.253994+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'inspecting', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.253994+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'inspect wait', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.352378+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.538289+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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.TestListNodes.test_node_network_data_hidden_in_lower_version [0.211353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.159182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.137822s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.062013s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.046775s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.098355s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.538289+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.749197+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.749197+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/4045383b-490f-4f4d-8a33-eb371294c567 {} DEBUG util.py:445: GOT:{'uuid': '4045383b-490f-4f4d-8a33-eb371294c567', 'created_at': '2024-03-18T10:50:56.853429+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': True, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/4045383b-490f-4f4d-8a33-eb371294c567', 'rel': 'self'}, {'href': 'http://localhost/nodes/4045383b-490f-4f4d-8a33-eb371294c567', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4045383b-490f-4f4d-8a33-eb371294c567/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4045383b-490f-4f4d-8a33-eb371294c567/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4045383b-490f-4f4d-8a33-eb371294c567/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4045383b-490f-4f4d-8a33-eb371294c567/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/4045383b-490f-4f4d-8a33-eb371294c567/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/4045383b-490f-4f4d-8a33-eb371294c567/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/4045383b-490f-4f4d-8a33-eb371294c567/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/4045383b-490f-4f4d-8a33-eb371294c567/volume', 'rel': 'bookmark'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.064802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.055811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.056208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.043647s] ... ok DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '33489c5b-6b12-429c-b972-c0a212783f51', 'created_at': '2024-03-18T10:50:56.627174+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': 'group2', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/33489c5b-6b12-429c-b972-c0a212783f51', 'rel': 'self'}, {'href': 'http://localhost/nodes/33489c5b-6b12-429c-b972-c0a212783f51', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/33489c5b-6b12-429c-b972-c0a212783f51/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/33489c5b-6b12-429c-b972-c0a212783f51/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/33489c5b-6b12-429c-b972-c0a212783f51/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/33489c5b-6b12-429c-b972-c0a212783f51/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/33489c5b-6b12-429c-b972-c0a212783f51/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/33489c5b-6b12-429c-b972-c0a212783f51/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/33489c5b-6b12-429c-b972-c0a212783f51/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/33489c5b-6b12-429c-b972-c0a212783f51/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?driver=test {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes?resource_class=test {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes?resource_class=foo {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1a1c683b-97c6-42df-8d22-a2fe0baf7ac1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1a1c683b-97c6-42df-8d22-a2fe0baf7ac1', 'rel': 'self'}, {'href': 'http://localhost/nodes/1a1c683b-97c6-42df-8d22-a2fe0baf7ac1', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=bar {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '162d715f-4ffd-410c-9117-e639d06acbdf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/162d715f-4ffd-410c-9117-e639d06acbdf', 'rel': 'self'}, {'href': 'http://localhost/nodes/162d715f-4ffd-410c-9117-e639d06acbdf', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=foo {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '507971c3-ab3a-4716-8ad8-e562291cc810', 'created_at': '2024-03-18T10:50:56.871900+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'foo', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/507971c3-ab3a-4716-8ad8-e562291cc810', 'rel': 'self'}, {'href': 'http://localhost/nodes/507971c3-ab3a-4716-8ad8-e562291cc810', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/507971c3-ab3a-4716-8ad8-e562291cc810/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/507971c3-ab3a-4716-8ad8-e562291cc810/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/507971c3-ab3a-4716-8ad8-e562291cc810/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/507971c3-ab3a-4716-8ad8-e562291cc810/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=bar {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '759512fe-e75f-42b3-8fa8-0d63c46ec117', 'created_at': '2024-03-18T10:50:56.875298+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'bar', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/759512fe-e75f-42b3-8fa8-0d63c46ec117', 'rel': 'self'}, {'href': 'http://localhost/nodes/759512fe-e75f-42b3-8fa8-0d63c46ec117', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/759512fe-e75f-42b3-8fa8-0d63c46ec117/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/759512fe-e75f-42b3-8fa8-0d63c46ec117/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/759512fe-e75f-42b3-8fa8-0d63c46ec117/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/759512fe-e75f-42b3-8fa8-0d63c46ec117/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=fake {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ee0a495-4020-41d8-b970-893ac5591114 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.001760+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, '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.TestListNodes.test_get_one_configdrive_dict [0.068311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.060842s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.121048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.285026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.056911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.035293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.052101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.078589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.047854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.052645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.040521s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.115402+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, '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'}]} DEBUG util.py:445: GET: /v1/nodes/node.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.161849+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'node.json', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, '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'}]} DEBUG util.py:445: GET: /v1/nodes/test.1 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.227078+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'test.1', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, '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.TestListNodes.test_get_one_with_suffix [0.059733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.044603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.049918s] ... ok DEBUG util.py:445: GET: /v1/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4 {} DEBUG util.py:445: GOT:{'uuid': '2e6348a3-4a9d-4b1b-a03a-0fd633edede4', 'created_at': '2024-03-18T10:50:56.874585+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': False, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4', 'rel': 'self'}, {'href': 'http://localhost/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/2e6348a3-4a9d-4b1b-a03a-0fd633edede4/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.918130+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.978112+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/123 123/ports {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for node: 123 123\"}"} DEBUG util.py:445: GET: /v1/nodes/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{} DEBUG util.py:445: GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07b3731d-1751-46d7-9e61-f5d7aacfebd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76841982-ab2e-4b05-9d24-1d502e07a8bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.088598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.056332s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.084308s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.629589+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': True, 'retired_reason': 'warranty expired', 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.791391+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:56.791391+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'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'}} DEBUG util.py:445: GET: /v1/nodes/b65afbf7-42e2-455b-9c48-c7923bd5ca01/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': True} DEBUG util.py:445: GET: /v1/nodes/2cd23272-77f6-47d5-b3d7-672a81f9e8fb/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': False} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': None, 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '7b53c8e7-f236-4ee9-8d73-c2c1523dd0f7', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/7b53c8e7-f236-4ee9-8d73-c2c1523dd0f7', 'rel': 'self'}, {'href': 'http://localhost/ports/7b53c8e7-f236-4ee9-8d73-c2c1523dd0f7', 'rel': 'bookmark'}]}, {'uuid': '35558c39-b209-4989-97d0-6ecc6d2ffecc', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/35558c39-b209-4989-97d0-6ecc6d2ffecc', 'rel': 'self'}, {'href': 'http://localhost/ports/35558c39-b209-4989-97d0-6ecc6d2ffecc', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '7b53c8e7-f236-4ee9-8d73-c2c1523dd0f7', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/7b53c8e7-f236-4ee9-8d73-c2c1523dd0f7', 'rel': 'self'}, {'href': 'http://localhost/ports/7b53c8e7-f236-4ee9-8d73-c2c1523dd0f7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=7b53c8e7-f236-4ee9-8d73-c2c1523dd0f7'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.076772s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.036762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.086725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.049311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_not_found [0.074075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.070696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.402408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.059161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.082441s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.058615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.047602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.069910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.053069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.043110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.094124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.160849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.086181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.063385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.085557s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.049018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.055188s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.058754s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=retired {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7965ba2c-7075-4f1b-8c55-8c9f0f810381 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=allocation_uuid {} DEBUG util.py:445: GOT:{'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': '1fcb2218-c2de-40e3-944a-717243166e25'} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.547078+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.547078+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'foo', 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=true&maintenance=blah {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85a21fe0-b696-41da-ba7b-6ce50362d786 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'fb0b63d9-c45d-4636-8e7a-21080748f296', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/fb0b63d9-c45d-4636-8e7a-21080748f296', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb0b63d9-c45d-4636-8e7a-21080748f296', 'rel': 'bookmark'}]}, {'uuid': '578ea604-430b-4cfb-94c7-f10ca58aca32', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/578ea604-430b-4cfb-94c7-f10ca58aca32', 'rel': 'self'}, {'href': 'http://localhost/nodes/578ea604-430b-4cfb-94c7-f10ca58aca32', 'rel': 'bookmark'}]}, {'uuid': '71309703-bc06-4f8a-8775-c32cfd440120', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/71309703-bc06-4f8a-8775-c32cfd440120', 'rel': 'self'}, {'href': 'http://localhost/nodes/71309703-bc06-4f8a-8775-c32cfd440120', 'rel': 'bookmark'}]}, {'uuid': '86026271-f14d-4f05-afb4-02a321ac5d3c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/86026271-f14d-4f05-afb4-02a321ac5d3c', 'rel': 'self'}, {'href': 'http://localhost/nodes/86026271-f14d-4f05-afb4-02a321ac5d3c', 'rel': 'bookmark'}]}, {'uuid': 'f8e60620-252b-49f4-8e1f-b74a8ed025b2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f8e60620-252b-49f4-8e1f-b74a8ed025b2', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8e60620-252b-49f4-8e1f-b74a8ed025b2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '96918f53-9433-42b0-87b6-1700db2336c8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-0', 'links': [{'href': 'http://localhost/v1/nodes/96918f53-9433-42b0-87b6-1700db2336c8', 'rel': 'self'}, {'href': 'http://localhost/nodes/96918f53-9433-42b0-87b6-1700db2336c8', 'rel': 'bookmark'}]}, {'uuid': '7ceecefa-6764-49a1-9fb0-d4d6cceeb860', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-1', 'links': [{'href': 'http://localhost/v1/nodes/7ceecefa-6764-49a1-9fb0-d4d6cceeb860', 'rel': 'self'}, {'href': 'http://localhost/nodes/7ceecefa-6764-49a1-9fb0-d4d6cceeb860', 'rel': 'bookmark'}]}, {'uuid': '4469beef-addd-48d9-aec7-49f2ec48d39e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-2', 'links': [{'href': 'http://localhost/v1/nodes/4469beef-addd-48d9-aec7-49f2ec48d39e', 'rel': 'self'}, {'href': 'http://localhost/nodes/4469beef-addd-48d9-aec7-49f2ec48d39e', 'rel': 'bookmark'}]}, {'uuid': 'd09e4b9d-4f6a-4739-8496-9028b5141e43', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-3', 'links': [{'href': 'http://localhost/v1/nodes/d09e4b9d-4f6a-4739-8496-9028b5141e43', 'rel': 'self'}, {'href': 'http://localhost/nodes/d09e4b9d-4f6a-4739-8496-9028b5141e43', 'rel': 'bookmark'}]}, {'uuid': 'a4d01191-40a8-4a50-9538-fd3ca9e3bb86', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-4', 'links': [{'href': 'http://localhost/v1/nodes/a4d01191-40a8-4a50-9538-fd3ca9e3bb86', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4d01191-40a8-4a50-9538-fd3ca9e3bb86', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.091285s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.181576s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.039825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.095075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.091085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.071529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.097066s] ... ok DEBUG util.py:445: GET: /v1/nodes/validate?node=spam {} DEBUG util.py:445: GOT:{} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'ebaabd94-b72c-49ae-9529-f88050b74c8c', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ebaabd94-b72c-49ae-9529-f88050b74c8c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ebaabd94-b72c-49ae-9529-f88050b74c8c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f6c8c95b-15bf-4ed3-bc65-18d78125052f', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/f6c8c95b-15bf-4ed3-bc65-18d78125052f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f6c8c95b-15bf-4ed3-bc65-18d78125052f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'ebaabd94-b72c-49ae-9529-f88050b74c8c', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ebaabd94-b72c-49ae-9529-f88050b74c8c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ebaabd94-b72c-49ae-9529-f88050b74c8c', '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=ebaabd94-b72c-49ae-9529-f88050b74c8c'} DEBUG util.py:445: GET: /v1/nodes/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '95d9aa23-790c-4fec-940d-f91d486d6eea', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/95d9aa23-790c-4fec-940d-f91d486d6eea', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/95d9aa23-790c-4fec-940d-f91d486d6eea', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2bd67901-a741-4048-aeb4-7edc1ce575f0', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/2bd67901-a741-4048-aeb4-7edc1ce575f0', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/2bd67901-a741-4048-aeb4-7edc1ce575f0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '95d9aa23-790c-4fec-940d-f91d486d6eea', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/95d9aa23-790c-4fec-940d-f91d486d6eea', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/95d9aa23-790c-4fec-940d-f91d486d6eea', '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=95d9aa23-790c-4fec-940d-f91d486d6eea'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6fd9a015-aa5f-427f-8dad-4bd31652a0a0 {} DEBUG util.py:445: GOT:{'uuid': '6fd9a015-aa5f-427f-8dad-4bd31652a0a0', 'created_at': '2024-03-18T10:50:57.522648+00:00', 'severity': None, 'event_type': None, 'event': 'meow', 'conductor': 'cat-tree1', 'user': 'peaches', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6fd9a015-aa5f-427f-8dad-4bd31652a0a0', 'rel': 'self'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1234 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd731deb-88a1-4f6b-ad8a-6c42f2fbfa33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:57.629166+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0e31bdd-0607-44ce-8461-8730a3597ef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/b1447944-8fd0-45f1-bddf-0622f0040365 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1255bcb0-0bb1-4312-a932-6d18b03e0f52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node b1447944-8fd0-45f1-bddf-0622f0040365 can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'i am invalid'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40d3240d-2b5a-4aba-b6a3-5ad0acc74e37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/43ae9e76-d56a-4db0-8606-8192ec36d388 [{'path': '/allocation_uuid', 'op': 'replace', 'value': '28bea4aa-e37f-42d1-9ba8-dffd89d8861b'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d4a95e4-be4e-469f-a256-6c40c0505ee4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.046195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.048569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.053319s] ... ok DEBUG util.py:445: GET: /v1/nodes/?limit=3&associated=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '8c83be8e-c697-45e2-bdfc-8524d8b2c217', 'instance_uuid': '163f341e-183e-4aad-827b-70402064c439', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8c83be8e-c697-45e2-bdfc-8524d8b2c217', 'rel': 'self'}, {'href': 'http://localhost/nodes/8c83be8e-c697-45e2-bdfc-8524d8b2c217', 'rel': 'bookmark'}]}, {'uuid': '8abde0c1-e5e7-4bad-bee4-9eb668b289c9', 'instance_uuid': '668119ed-b75e-4ac6-acec-a4cbbee85471', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8abde0c1-e5e7-4bad-bee4-9eb668b289c9', 'rel': 'self'}, {'href': 'http://localhost/nodes/8abde0c1-e5e7-4bad-bee4-9eb668b289c9', 'rel': 'bookmark'}]}, {'uuid': '961757c2-995f-49fc-ad82-138bf5f84bd8', 'instance_uuid': 'e6f8d59f-7da8-4932-aa9b-b89d43b4ca19', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/961757c2-995f-49fc-ad82-138bf5f84bd8', 'rel': 'self'}, {'href': 'http://localhost/nodes/961757c2-995f-49fc-ad82-138bf5f84bd8', '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=961757c2-995f-49fc-ad82-138bf5f84bd8'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.905910+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.975872+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:57.975872+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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.TestListNodes.test_node_conductor_hidden_in_lower_version [0.090389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.114209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.075158s] ... ok DEBUG util.py:445: GET: /v1/nodes/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/52949728-59fc-4651-84c8-b0a16b469372 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9db99721-e3bd-4e25-8a5b-6565b0ac4073 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node history record 52949728-59fc-4651-84c8-b0a16b469372 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85b97f7c-3b8f-46c0-857c-746994d0622d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e958aee4-0168-4be4-9d12-cbc85539ce20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:57.583715+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/ed8da695-c4ea-40fb-a7be-0829ad22cd3f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa5fc7e4-8d6f-46b7-95cd-3d4d1bb329aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "ed8da695-c4ea-40fb-a7be-0829ad22cd3f", "created_at": "2024-03-18T10:50:57.684799+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", "cpus": "8", "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/ed8da695-c4ea-40fb-a7be-0829ad22cd3f", "rel": "self"}, {"href": "http://localhost/nodes/ed8da695-c4ea-40fb-a7be-0829ad22cd3f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ed8da695-c4ea-40fb-a7be-0829ad22cd3f/ports", "rel": "self"}, {"href": "http://localhost/nodes/ed8da695-c4ea-40fb-a7be-0829ad22cd3f/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63ca06dc-ed98-41b9-acaa-0f65866ad2a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/4dd6fc5e-d0ee-4498-9512-ccf67196c8ab [{'path': '/allocation_uuid', 'op': 'replace', 'value': 'af421b40-d019-4bf6-b180-1cbc00a5e9f1'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7a68b2c-6eb3-458d-ab94-7f20cf9d7bca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.52 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/73d0f28e-0d3f-41c3-a10f-fe137fd8cb35 [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fff5bafb-9033-4dea-9ffa-03f0633327fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/54f50332-46a8-49df-a81b-6d674069ea15 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-536699cb-9251-47fc-a187-3095cefde3ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "54f50332-46a8-49df-a81b-6d674069ea15", "created_at": "2024-03-18T10:50:58.051714+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, "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", "cpus": "8", "local_gb": "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/54f50332-46a8-49df-a81b-6d674069ea15", "rel": "self"}, {"href": "http://localhost/nodes/54f50332-46a8-49df-a81b-6d674069ea15", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/54f50332-46a8-49df-a81b-6d674069ea15/ports", "rel": "self"}, {"href": "http://localhost/nodes/54f50332-46a8-49df-a81b-6d674069ea15/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/54f50332-46a8-49df-a81b-6d674069ea15/states", "rel": "self"}, {"href": "http://localhost/nodes/54f50332-46a8-49df-a81b-6d674069ea15/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/54f50332-46a8-49df-a81b-6d674069ea15/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/54f50332-46a8-49df-a81b-6d674069ea15/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/54f50332-46a8-49df-a81b-6d674069ea15/volume", "rel": "self"}, {"href": "http://localhost/nodes/54f50332-46a8-49df-a81b-6d674069ea15/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.171713s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver_info/this', 'value': 'foo', 'op': 'add'}, {'path': '/driver_info/that', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3dd07517-5b84-4c51-9bff-22779c08b7f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cba84d9-4c9c-4f0b-9bcd-6839c1f7b26a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:56.905323+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b8b0b66-2164-45e7-8c5a-c33e3c576fda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"uuid": "25f03b8f-479f-4d45-b266-17e2ca649db4", "created_at": "2024-03-18T10:50:57.235374+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", "cpus": "8", "local_gb": "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/25f03b8f-479f-4d45-b266-17e2ca649db4", "rel": "self"}, {"href": "http://localhost/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4/ports", "rel": "self"}, {"href": "http://localhost/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4/states", "rel": "self"}, {"href": "http://localhost/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4/volume", "rel": "self"}, {"href": "http://localhost/nodes/25f03b8f-479f-4d45-b266-17e2ca649db4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/43bd4470-b96d-488b-9d99-7e8074976ebd [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db4cc0d3-e5c3-4857-a75f-bda014eb77a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"43bd4470-b96d-488b-9d99-7e8074976ebd\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2589b70b-dbaa-4994-8acd-e52e50cf3978 [{'path': '/protected', 'value': True, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce711b92-2d01-4352-8190-da3809b366ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.47 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299 [{'path': '/retired', 'value': True, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80ecda38-4c13-4c08-bb5d-55136e646359 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.61 DEBUG util.py:445: {"uuid": "eead3a1b-a65f-4483-8d8e-3f42b3ad2299", "created_at": "2024-03-18T10:50:57.991243+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", "cpus": "8", "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/eead3a1b-a65f-4483-8d8e-3f42b3ad2299", "rel": "self"}, {"href": "http://localhost/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299/ports", "rel": "self"}, {"href": "http://localhost/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299/states", "rel": "self"}, {"href": "http://localhost/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299/volume", "rel": "self"}, {"href": "http://localhost/nodes/eead3a1b-a65f-4483-8d8e-3f42b3ad2299/volume", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.291588s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.081142+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.081142+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.139178+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.139178+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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.TestListNodes.test_node_owner_hidden_in_lower_version [0.076649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.149161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.124440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.169501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.226940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.076694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.060771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.046498s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.263496+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.263496+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.356963+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.356963+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.082139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.095149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.082351s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/6948d7f4-6383-4f0c-bae4-8c5d14b355ee [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-478b16a3-308f-487f-bb36-6e210c8242f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.49 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/df9572ab-899e-4a66-94d3-2d9741c01e55 [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-defa9419-8924-4fb7-bd98-44120ad83dc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.42 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-757a756d-170f-415f-9fdb-9ad138d4ac9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:57.999661+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/9e9faf96-5c49-4002-b0ca-362849def679 [{'path': '/description', 'value': 'foo', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd021ede-171a-4bde-ad14-6113e34fc862 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "9e9faf96-5c49-4002-b0ca-362849def679", "created_at": "2024-03-18T10:50:58.139410+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, "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", "cpus": "8", "local_gb": "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/9e9faf96-5c49-4002-b0ca-362849def679", "rel": "self"}, {"href": "http://localhost/nodes/9e9faf96-5c49-4002-b0ca-362849def679", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9e9faf96-5c49-4002-b0ca-362849def679/ports", "rel": "self"}, {"href": "http://localhost/nodes/9e9faf96-5c49-4002-b0ca-362849def679/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9e9faf96-5c49-4002-b0ca-362849def679/states", "rel": "self"}, {"href": "http://localhost/nodes/9e9faf96-5c49-4002-b0ca-362849def679/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9e9faf96-5c49-4002-b0ca-362849def679/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9e9faf96-5c49-4002-b0ca-362849def679/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9e9faf96-5c49-4002-b0ca-362849def679/volume", "rel": "self"}, {"href": "http://localhost/nodes/9e9faf96-5c49-4002-b0ca-362849def679/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd721c59-a93c-4542-afda-e1c3695607a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "a2945c34-c2a5-49e6-a0b8-8447c72e8a0b", "created_at": "2024-03-18T10:50:58.312994+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, "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", "cpus": "8", "local_gb": "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/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b", "rel": "self"}, {"href": "http://localhost/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b/ports", "rel": "self"}, {"href": "http://localhost/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b/states", "rel": "self"}, {"href": "http://localhost/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b/volume", "rel": "self"}, {"href": "http://localhost/nodes/a2945c34-c2a5-49e6-a0b8-8447c72e8a0b/volume", "rel": "bookmark"}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.125708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.058457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.042744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.046790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.287154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.077876s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/241bac41-3138-43bc-a190-697dde5c7f38 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9acb386d-433d-4119-9058-52825177aada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "241bac41-3138-43bc-a190-697dde5c7f38", "created_at": "2024-03-18T10:50:58.275761+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, "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", "cpus": "8", "local_gb": "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/241bac41-3138-43bc-a190-697dde5c7f38", "rel": "self"}, {"href": "http://localhost/nodes/241bac41-3138-43bc-a190-697dde5c7f38", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/241bac41-3138-43bc-a190-697dde5c7f38/ports", "rel": "self"}, {"href": "http://localhost/nodes/241bac41-3138-43bc-a190-697dde5c7f38/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/241bac41-3138-43bc-a190-697dde5c7f38/states", "rel": "self"}, {"href": "http://localhost/nodes/241bac41-3138-43bc-a190-697dde5c7f38/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/241bac41-3138-43bc-a190-697dde5c7f38/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/241bac41-3138-43bc-a190-697dde5c7f38/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/241bac41-3138-43bc-a190-697dde5c7f38/volume", "rel": "self"}, {"href": "http://localhost/nodes/241bac41-3138-43bc-a190-697dde5c7f38/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b [] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ea7bf8b-0f4e-4acc-8957-1b096e32cc86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8c103b7d-7920-46a4-b841-1d16930b5f2b", "created_at": "2024-03-18T10:50:58.357916+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", "cpus": "8", "local_gb": "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/8c103b7d-7920-46a4-b841-1d16930b5f2b", "rel": "self"}, {"href": "http://localhost/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b/ports", "rel": "self"}, {"href": "http://localhost/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b/states", "rel": "self"}, {"href": "http://localhost/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b/volume", "rel": "self"}, {"href": "http://localhost/nodes/8c103b7d-7920-46a4-b841-1d16930b5f2b/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9ff [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a0bb7c7-cabe-40ee-a7ea-b8f49d1c9d83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b68f16d3-56ac-4da0-b623-55d121d1fe4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5073a9e2-a1cf-4489-9580-80cdfa22ee11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'driver' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3207f01-a59d-4a55-8e2b-82fd358fec7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}]{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.039210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization ... SKIPPED: Test fails to work on python 3.6 when matching mock.ANY. DEBUG util.py:445: PATCH: /v1/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64 [{'op': 'remove', 'path': '/retired'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e063fc5-ac6b-486c-b108-2b943f850958 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.61 DEBUG util.py:445: {"uuid": "8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64", "created_at": "2024-03-18T10:50:58.218814+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", "cpus": "8", "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/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64", "rel": "self"}, {"href": "http://localhost/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64/ports", "rel": "self"}, {"href": "http://localhost/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64/states", "rel": "self"}, {"href": "http://localhost/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64/volume", "rel": "self"}, {"href": "http://localhost/nodes/8f4a82b7-e2b4-4ceb-8bfe-c8361d73ce64/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-54340c79-5da4-4fc5-9c89-7ee15755eb53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:58.576985+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", "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", "cpus": "8", "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, "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.576985+00:00', 'updated_at': None, 'automated_clean': True, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, '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': None, 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.404771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.053515s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.043099s] ... ok DEBUG util.py:445: GET: /v1/nodes/caac5b16-ab97-4560-b5b0-a6cbc5787f28/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'bios', 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/1565f41b-4978-42c7-99ab-847b7ab7af9d/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': None, 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/eggs/states {} DEBUG util.py:445: GOT:{'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'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.649238+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.649238+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:58.762621+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5d24973-7994-42c0-9f8f-1ac528ad338c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup None could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6f9cef4-55b2-405d-ba92-7fa40eeeeefc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.044266s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.074703s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.342810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.084453s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.348331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.078422s] ... ok DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62db7bd3-da97-46ac-8cbf-812b5690fac7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8 [{'path': '/boot_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae0bb9b9-b82f-4afa-bab5-d935701d80bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7c047551-9fe2-4966-8700-4ccb3614c6d8", "created_at": "2024-03-18T10:50:58.690686+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", "cpus": "8", "local_gb": "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/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8 [{'path': '/console_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff0c0f4c-c7ad-42fb-91ec-01e66e425e03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7c047551-9fe2-4966-8700-4ccb3614c6d8", "created_at": "2024-03-18T10:50:58.690686+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", "cpus": "8", "local_gb": "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/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8 [{'path': '/deploy_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecf11295-529c-4a33-a95b-f5a5c6b80cfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7c047551-9fe2-4966-8700-4ccb3614c6d8", "created_at": "2024-03-18T10:50:58.690686+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", "cpus": "8", "local_gb": "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/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8 [{'path': '/inspect_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-861f4ead-0c23-4768-9d3c-c1407df27659 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7c047551-9fe2-4966-8700-4ccb3614c6d8", "created_at": "2024-03-18T10:50:58.690686+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", "cpus": "8", "local_gb": "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/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8 [{'path': '/management_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0997f16b-28fa-46b7-b454-90d7cf4b484c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7c047551-9fe2-4966-8700-4ccb3614c6d8", "created_at": "2024-03-18T10:50:58.690686+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", "cpus": "8", "local_gb": "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/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8 [{'path': '/power_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e1af5cc-e83a-4f14-ab01-d36e82325f69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7c047551-9fe2-4966-8700-4ccb3614c6d8", "created_at": "2024-03-18T10:50:58.690686+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", "cpus": "8", "local_gb": "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/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.249350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.038522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.043235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.052006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.205514s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8 [{'path': '/raid_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8a22dad-d99c-4d7e-bc51-85dbcdaf968d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7c047551-9fe2-4966-8700-4ccb3614c6d8", "created_at": "2024-03-18T10:50:58.690686+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", "cpus": "8", "local_gb": "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/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8 [{'path': '/vendor_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95a32793-4976-4e84-9fcd-2d6902256c6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7c047551-9fe2-4966-8700-4ccb3614c6d8", "created_at": "2024-03-18T10:50:58.690686+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", "cpus": "8", "local_gb": "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/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c047551-9fe2-4966-8700-4ccb3614c6d8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/name', 'value': 'new name', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c895b70a-3ae5-4333-979c-d80383b17815 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The reset_interfaces parameter can only be used when changing the node's driver.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6 [{'path': '/storage_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59630b9e-c7de-4048-8c5e-80d77e1e6167 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "56f6bce3-015c-4e49-8654-5ba378cfb0b6", "created_at": "2024-03-18T10:50:58.973500+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", "cpus": "8", "local_gb": "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/56f6bce3-015c-4e49-8654-5ba378cfb0b6", "rel": "self"}, {"href": "http://localhost/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6/ports", "rel": "self"}, {"href": "http://localhost/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6/states", "rel": "self"}, {"href": "http://localhost/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6/volume", "rel": "self"}, {"href": "http://localhost/nodes/56f6bce3-015c-4e49-8654-5ba378cfb0b6/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.072145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.071176s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.065164s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.080094s] ... ok DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': 'useful stuff', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-6f89e6f8-9ae2-4f72-818f-1805795484ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:59.036539+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": "useful stuff", "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", "cpus": "8", "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, "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:59.036539+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': 'useful stuff', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, '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': None, 'allocation_uuid': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'class2', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-01698c0a-ceda-41d9-8a16-b0a999917d4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:59.198211+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", "cpus": "8", "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"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.180164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.047430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.092560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.115422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.228959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.082256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.074216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.185747s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:59.198211+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'class2', 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-c91548e3-a555-4b44-a36c-399e0b9aa3fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'cinder', 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70424bb0-0c09-4c2b-b065-4dd7f2589bf4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.140469s] ... ok DEBUG util.py:445: GET: /v1/nodes?sort_key=uuid {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '428a6660-b82c-4d4f-bc99-a2163d9e10d9', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/428a6660-b82c-4d4f-bc99-a2163d9e10d9', 'rel': 'self'}, {'href': 'http://localhost/nodes/428a6660-b82c-4d4f-bc99-a2163d9e10d9', 'rel': 'bookmark'}]}, {'uuid': '457b21d7-fd9b-4322-80c3-d9b4de9d85a4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/457b21d7-fd9b-4322-80c3-d9b4de9d85a4', 'rel': 'self'}, {'href': 'http://localhost/nodes/457b21d7-fd9b-4322-80c3-d9b4de9d85a4', 'rel': 'bookmark'}]}, {'uuid': 'f5fcbb2f-6e8b-44c3-99bb-b660ec140fc5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f5fcbb2f-6e8b-44c3-99bb-b660ec140fc5', 'rel': 'self'}, {'href': 'http://localhost/nodes/f5fcbb2f-6e8b-44c3-99bb-b660ec140fc5', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd3d572da-69c2-484b-8895-460e06b897b4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d3d572da-69c2-484b-8895-460e06b897b4', 'rel': 'self'}, {'href': 'http://localhost/nodes/d3d572da-69c2-484b-8895-460e06b897b4', 'rel': 'bookmark'}]}, {'uuid': 'ecaf39a5-4f12-4a50-bd4d-2efc3cd8ab11', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ecaf39a5-4f12-4a50-bd4d-2efc3cd8ab11', 'rel': 'self'}, {'href': 'http://localhost/nodes/ecaf39a5-4f12-4a50-bd4d-2efc3cd8ab11', 'rel': 'bookmark'}]}, {'uuid': '62b6e929-1767-4881-9583-a0ce74906c0d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/62b6e929-1767-4881-9583-a0ce74906c0d', 'rel': 'self'}, {'href': 'http://localhost/nodes/62b6e929-1767-4881-9583-a0ce74906c0d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=FALSE {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd3d572da-69c2-484b-8895-460e06b897b4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d3d572da-69c2-484b-8895-460e06b897b4', 'rel': 'self'}, {'href': 'http://localhost/nodes/d3d572da-69c2-484b-8895-460e06b897b4', 'rel': 'bookmark'}]}, {'uuid': 'ecaf39a5-4f12-4a50-bd4d-2efc3cd8ab11', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ecaf39a5-4f12-4a50-bd4d-2efc3cd8ab11', 'rel': 'self'}, {'href': 'http://localhost/nodes/ecaf39a5-4f12-4a50-bd4d-2efc3cd8ab11', 'rel': 'bookmark'}]}, {'uuid': '62b6e929-1767-4881-9583-a0ce74906c0d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/62b6e929-1767-4881-9583-a0ce74906c0d', 'rel': 'self'}, {'href': 'http://localhost/nodes/62b6e929-1767-4881-9583-a0ce74906c0d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=False&limit=2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '479bd884-3d85-4ceb-ad27-e6aa82cfbd66', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/479bd884-3d85-4ceb-ad27-e6aa82cfbd66', 'rel': 'self'}, {'href': 'http://localhost/nodes/479bd884-3d85-4ceb-ad27-e6aa82cfbd66', 'rel': 'bookmark'}]}, {'uuid': 'c7c9438b-a77f-470b-8612-903131a4afdc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c7c9438b-a77f-470b-8612-903131a4afdc', 'rel': 'self'}, {'href': 'http://localhost/nodes/c7c9438b-a77f-470b-8612-903131a4afdc', '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=c7c9438b-a77f-470b-8612-903131a4afdc'} DEBUG util.py:445: GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1ba08c6-04f1-429e-b5df-bfad3ca17c3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.31 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:{'history': []} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:{'history': [{'uuid': '87bbd5c7-38a2-468d-bade-b7e7c50fcd58', 'created_at': '2024-03-18T10:50:59.306229+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/87bbd5c7-38a2-468d-bade-b7e7c50fcd58', 'rel': 'self'}]}, {'uuid': '564e187a-5ed2-448b-a0e4-3e1396700052', 'created_at': '2024-03-18T10:50:59.308279+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/564e187a-5ed2-448b-a0e4-3e1396700052', 'rel': 'self'}]}, {'uuid': '13204d04-c616-4b56-b3ab-a80f51d7375f', 'created_at': '2024-03-18T10:50:59.309288+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/13204d04-c616-4b56-b3ab-a80f51d7375f', 'rel': 'self'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1 {} DEBUG util.py:445: GOT:{'history': [{'uuid': '4210d626-2a79-4eb6-8868-4cd0426887a2', 'created_at': '2024-03-18T10:50:59.456780+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4210d626-2a79-4eb6-8868-4cd0426887a2', 'rel': 'self'}]}], 'next': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=None&fields=uuid,created_at,severity,event&limit=1&marker=4210d626-2a79-4eb6-8868-4cd0426887a2'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=4210d626-2a79-4eb6-8868-4cd0426887a2 {} DEBUG util.py:445: GOT:{'history': [{'uuid': 'c6348950-2cf7-467c-b73b-4a601aaa581c', 'created_at': '2024-03-18T10:50:59.457762+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c6348950-2cf7-467c-b73b-4a601aaa581c', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2024-03-18T10:50:59Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=4210d626-2a79-4eb6-8868-4cd0426887a2)&fields=uuid,created_at,severity,event&limit=1&marker=c6348950-2cf7-467c-b73b-4a601aaa581c"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=c6348950-2cf7-467c-b73b-4a601aaa581c {} DEBUG util.py:445: GOT:{'history': [{'uuid': 'bf1924cd-5055-45af-a904-f367327ce4e1', 'created_at': '2024-03-18T10:50:59.458679+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bf1924cd-5055-45af-a904-f367327ce4e1', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2024-03-18T10:50:59Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=c6348950-2cf7-467c-b73b-4a601aaa581c)&fields=uuid,created_at,severity,event&limit=1&marker=bf1924cd-5055-45af-a904-f367327ce4e1"}{3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.103621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.087730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.085291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.046838s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14 [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89a6e894-c68c-4b2a-ac85-99f5af258d46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.47 DEBUG util.py:445: {"uuid": "9ff8a528-d476-4a32-b3f4-841aa7c68c14", "created_at": "2024-03-18T10:50:59.045021+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", "cpus": "8", "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/9ff8a528-d476-4a32-b3f4-841aa7c68c14", "rel": "self"}, {"href": "http://localhost/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14/ports", "rel": "self"}, {"href": "http://localhost/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14/states", "rel": "self"}, {"href": "http://localhost/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14/volume", "rel": "self"}, {"href": "http://localhost/nodes/9ff8a528-d476-4a32-b3f4-841aa7c68c14/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'bad-driver', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b6baf2a-1b63-43b7-9254-bd8367c61c14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f [{'path': '/instance_uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8af675a-01b2-4bdb-a367-2016582a3501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"uuid": "2e4e4def-88b6-486a-9e7d-0070ef402e4f", "created_at": "2024-03-18T10:50:59.187987+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", "cpus": "8", "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/2e4e4def-88b6-486a-9e7d-0070ef402e4f", "rel": "self"}, {"href": "http://localhost/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f/states", "rel": "self"}, {"href": "http://localhost/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e4e4def-88b6-486a-9e7d-0070ef402e4f/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e19cf86-07cc-4dd5-a0ef-b6cfeff4001c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "431f7d7a-8fe8-441d-ae58-ba85b2480291", "created_at": "2024-03-18T10:50:59.261871+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", "cpus": "8", "local_gb": "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/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae332676-d104-4a60-998b-2254602dd144 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "431f7d7a-8fe8-441d-ae58-ba85b2480291", "created_at": "2024-03-18T10:50:59.261871+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", "cpus": "8", "local_gb": "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/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ccadd5d-c4b7-4964-ba3c-db4c777e88b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "431f7d7a-8fe8-441d-ae58-ba85b2480291", "created_at": "2024-03-18T10:50:59.261871+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", "cpus": "8", "local_gb": "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/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d861abd0-603d-4b7f-a259-0cbc482894ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "431f7d7a-8fe8-441d-ae58-ba85b2480291", "created_at": "2024-03-18T10:50:59.261871+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", "cpus": "8", "local_gb": "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/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18e10d78-5843-44f0-bf16-24b55ab016ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "431f7d7a-8fe8-441d-ae58-ba85b2480291", "created_at": "2024-03-18T10:50:59.261871+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", "cpus": "8", "local_gb": "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/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a039a7dc-420a-4454-a3b6-4f71501c7531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "431f7d7a-8fe8-441d-ae58-ba85b2480291", "created_at": "2024-03-18T10:50:59.261871+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", "cpus": "8", "local_gb": "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/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12c46396-8168-4209-83ee-1929ee35c0f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "431f7d7a-8fe8-441d-ae58-ba85b2480291", "created_at": "2024-03-18T10:50:59.261871+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", "cpus": "8", "local_gb": "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/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.408033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.132929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.053097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.111764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.072991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.388800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.052529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.178368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.081960s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28a19e12-95a2-488a-8a89-c02492c3e16a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "20beb9ae-9454-4d4a-8242-cfd60e8c14cd", "created_at": "2024-03-18T10:50:58.491662+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, "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", "cpus": "8", "local_gb": "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/20beb9ae-9454-4d4a-8242-cfd60e8c14cd", "rel": "self"}, {"href": "http://localhost/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd/states", "rel": "self"}, {"href": "http://localhost/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/20beb9ae-9454-4d4a-8242-cfd60e8c14cd/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db5e8d2a-8ce2-4cf2-b464-104a75d859ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d883238-b6df-4ed3-a058-c00fe89e0abf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f7a3a73-29ca-4d10-a51d-d1ca262e8904 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c743551c-7dd1-4c85-b99d-d1275d6a1b17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'op': 'replace', 'value': True}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06b4e396-36d4-4c13-bda6-94bdcb2a5b1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'op': 'replace', 'value': 'fake-state'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5c203e9-cd37-4f56-916e-87919005d5c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/node-57.1 [{'path': '/maintenance', 'op': 'replace', 'value': True}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fd4d970-5a05-4440-9d61-23e6bc0beb78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:59.918370+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", "cpus": "8", "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.TestPatch.test_replace_maintenance_by_name [0.173939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.144300s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db23428c-48e8-4def-93d0-195132132054 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "431f7d7a-8fe8-441d-ae58-ba85b2480291", "created_at": "2024-03-18T10:50:59.261871+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", "cpus": "8", "local_gb": "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/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "self"}, {"href": "http://localhost/nodes/431f7d7a-8fe8-441d-ae58-ba85b2480291/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e1631161-99b3-4a8c-aeff-61129043c17b [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3608a209-be21-41f1-ba60-02af321aef76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260 [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2955382-59d9-437f-bf9b-c7ec18e28ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.66 DEBUG util.py:445: {"uuid": "1bbb8f3b-da38-4b17-bf30-8899253a7260", "created_at": "2024-03-18T10:50:59.855661+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", "cpus": "8", "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/1bbb8f3b-da38-4b17-bf30-8899253a7260", "rel": "self"}, {"href": "http://localhost/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260/ports", "rel": "self"}, {"href": "http://localhost/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260/states", "rel": "self"}, {"href": "http://localhost/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260/volume", "rel": "self"}, {"href": "http://localhost/nodes/1bbb8f3b-da38-4b17-bf30-8899253a7260/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/cf9dd0ba-4f20-4ead-98b3-454353a4bbed [{'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.1ad', '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'}]{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.081627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.153838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.180445s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.089889s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a4a5812-0af4-46f1-bfcd-8a71e4210f98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:59.555222+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'guido-van-rossum'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96288acc-10e5-4636-abbc-c73c917862eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "deadbeef-0000-1111-2222-333333333333", "created_at": "2024-03-18T10:50:59.645458+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/574eaeb0-ea3b-4820-8982-8dae4fa073f4 [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02c65ddc-fa8c-4e03-8e1f-7f9b12342bf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.44 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8060056c-5b2b-441d-901c-807addf374c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'foo', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c95463f3-99f2-4562-b81c-5b9799eb8b56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57268590-f082-4a04-9d4b-f63426004de7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4acff886-6412-4a91-a38c-51efe4565363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:59.979270+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/ec071905-47e9-424f-903e-a0e5719b67bd [{'path': '/instance_uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc0909a0-7e81-4868-9083-e968b3e4a7c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "ec071905-47e9-424f-903e-a0e5719b67bd", "created_at": "2024-03-18T10:51:00.130464+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", "cpus": "8", "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/ec071905-47e9-424f-903e-a0e5719b67bd", "rel": "self"}, {"href": "http://localhost/nodes/ec071905-47e9-424f-903e-a0e5719b67bd", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ec071905-47e9-424f-903e-a0e5719b67bd/ports", "rel": "self"}, {"href": "http://localhost/nodes/ec071905-47e9-424f-903e-a0e5719b67bd/ports", "rel": "bookmark"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.129331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.109264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.113070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.062911s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-d775766a-221c-4a03-a87c-551cddfc8b04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:50:59.564871+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": "project", "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", "cpus": "8", "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, "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:50:59.564871+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'project', 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, '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': None, 'allocation_uuid': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-380a8164-2328-4f29-8313-81807444f498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-fcd94739-ba85-460c-9ec9-3f69db79343a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:00.018171+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", "cpus": "8", "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, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.112570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.090044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.096729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.079399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.079917s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.105681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.260529s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce [{'path': '/description', 'value': 'meow', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f43b27c1-c924-4d4d-82d9-7aa29fbf3668 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.51 DEBUG util.py:445: {"uuid": "d4d6649b-ef61-4485-b0ba-c4b2383c99ce", "created_at": "2024-03-18T10:51:00.246930+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", "cpus": "8", "local_gb": "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/d4d6649b-ef61-4485-b0ba-c4b2383c99ce", "rel": "self"}, {"href": "http://localhost/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce/states", "rel": "self"}, {"href": "http://localhost/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4d6649b-ef61-4485-b0ba-c4b2383c99ce/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/2ab8dbcc-e399-4757-a889-14abab4ea6be [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4d9e5c8-5dcb-4bf5-bff7-d0b76ab7d673 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.51 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node with description exceeding 4096 characters\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c [{'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.1ad', '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'}]{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.116107s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.114124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.092948s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:00.018171+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, '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': None, 'allocation_uuid': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'protected': True} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b215e3d-680b-4af0-99c9-0ef395c71632 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('protected' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5a1faf8-2427-4e11-9f54-fb01d407b174 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-4a179d09-9c2d-4096-9477-46d520e30749 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:00.432811+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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:00.432811+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.122886s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.087851s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.187757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.316144s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.101335s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.087431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.166919s] ... ok DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4469c8a-1dc6-4924-a12b-a347d8c5b465 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.66 DEBUG util.py:445: {"uuid": "73732bfe-b1ad-424e-9b79-1d5a9639b10c", "created_at": "2024-03-18T10:51:00.444817+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", "cpus": "8", "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/73732bfe-b1ad-424e-9b79-1d5a9639b10c", "rel": "self"}, {"href": "http://localhost/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c/ports", "rel": "self"}, {"href": "http://localhost/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c/states", "rel": "self"}, {"href": "http://localhost/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c/volume", "rel": "self"}, {"href": "http://localhost/nodes/73732bfe-b1ad-424e-9b79-1d5a9639b10c/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05eea25f-02e5-41a3-9a7e-e5dd4358f74f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:00.539641+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9 [{'path': '/protected', 'value': True, 'op': 'replace'}, {'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95fdab7e-a0de-4619-9fcd-2a412de7d6d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "25bca56d-c031-4eba-be1d-15a6c74db7e9", "created_at": "2024-03-18T10:51:00.640465+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", "cpus": "8", "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/25bca56d-c031-4eba-be1d-15a6c74db7e9", "rel": "self"}, {"href": "http://localhost/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9/states", "rel": "self"}, {"href": "http://localhost/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/25bca56d-c031-4eba-be1d-15a6c74db7e9/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/5f4866e7-2e0e-484f-81b9-211d599f091a [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01f93585-41f6-44f0-9547-617e9cdb78cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "5f4866e7-2e0e-484f-81b9-211d599f091a", "created_at": "2024-03-18T10:51:00.733299+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", "cpus": "8", "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/5f4866e7-2e0e-484f-81b9-211d599f091a", "rel": "self"}, {"href": "http://localhost/nodes/5f4866e7-2e0e-484f-81b9-211d599f091a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5f4866e7-2e0e-484f-81b9-211d599f091a/ports", "rel": "self"}, {"href": "http://localhost/nodes/5f4866e7-2e0e-484f-81b9-211d599f091a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5f4866e7-2e0e-484f-81b9-211d599f091a/states", "rel": "self"}, {"href": "http://localhost/nodes/5f4866e7-2e0e-484f-81b9-211d599f091a/states", "rel": "bookmark"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.083215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.099521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.077494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.126397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.094616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.060938s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-113d1c5f-3ade-484b-add8-586c180fbbc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.62 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/5ad81531-c992-4786-a730-677783a1718e [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee3df01c-53ba-4de1-a690-9bd428bd45e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.66 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid network_data: 'links' is a required property \", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/9d5344e0-33b4-498c-a0e5-4afc24f0950e [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac2b6f7b-fb73-4a0e-b0ff-a5c20ef46888 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/fdaa74b9-0d7b-4c94-af16-113e04c8d228 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4be7488d-b0bc-447a-9c04-b35631e49229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"fdaa74b9-0d7b-4c94-af16-113e04c8d228\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/8d44e79d-23bf-4d22-84cd-419d33573b7d [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3d5b8f8-88c4-495d-8044-109bfc5eee54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.47 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6845e23d-fd75-4fad-b26f-64e97c3f4570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"uuid": "fc7aba2e-d100-4ff7-900b-5d944565e7cd", "created_at": "2024-03-18T10:51:00.675940+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", "cpus": "8", "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/fc7aba2e-d100-4ff7-900b-5d944565e7cd", "rel": "self"}, {"href": "http://localhost/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd/states", "rel": "self"}, {"href": "http://localhost/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/fc7aba2e-d100-4ff7-900b-5d944565e7cd/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141 [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53954877-5ddb-4d49-ad8e-27daf7a3a915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "3e20ded9-cfe1-43fb-892d-8b31485bb141", "created_at": "2024-03-18T10:51:00.771069+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", "cpus": "8", "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/3e20ded9-cfe1-43fb-892d-8b31485bb141", "rel": "self"}, {"href": "http://localhost/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141/ports", "rel": "self"}, {"href": "http://localhost/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141/states", "rel": "self"}, {"href": "http://localhost/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141/volume", "rel": "self"}, {"href": "http://localhost/nodes/3e20ded9-cfe1-43fb-892d-8b31485bb141/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1680c709-0022-4590-9ae1-739fcb668463 [{'path': '/protected', 'value': 'True', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e814c20a-1213-417c-8a79-d255c64b53fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "1680c709-0022-4590-9ae1-739fcb668463", "created_at": "2024-03-18T10:51:00.856735+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", "cpus": "8", "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/1680c709-0022-4590-9ae1-739fcb668463", "rel": "self"}, {"href": "http://localhost/nodes/1680c709-0022-4590-9ae1-739fcb668463", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1680c709-0022-4590-9ae1-739fcb668463/ports", "rel": "self"}, {"href": "http://localhost/nodes/1680c709-0022-4590-9ae1-739fcb668463/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1680c709-0022-4590-9ae1-739fcb668463/states", "rel": "self"}, {"href": "http://localhost/nodes/1680c709-0022-4590-9ae1-739fcb668463/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1680c709-0022-4590-9ae1-739fcb668463/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1680c709-0022-4590-9ae1-739fcb668463/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1680c709-0022-4590-9ae1-739fcb668463/volume", "rel": "self"}, {"href": "http://localhost/nodes/1680c709-0022-4590-9ae1-739fcb668463/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.073654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.075311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.043840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.044897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.050958s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.125961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.120965s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/66c25b1f-d438-4fff-b729-20c398b255e8 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eab457e7-2cdc-4d57-bd9c-896f11ed6a1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "66c25b1f-d438-4fff-b729-20c398b255e8", "created_at": "2024-03-18T10:51:00.810964+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", "cpus": "8", "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/66c25b1f-d438-4fff-b729-20c398b255e8", "rel": "self"}, {"href": "http://localhost/nodes/66c25b1f-d438-4fff-b729-20c398b255e8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/66c25b1f-d438-4fff-b729-20c398b255e8/ports", "rel": "self"}, {"href": "http://localhost/nodes/66c25b1f-d438-4fff-b729-20c398b255e8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/66c25b1f-d438-4fff-b729-20c398b255e8/states", "rel": "self"}, {"href": "http://localhost/nodes/66c25b1f-d438-4fff-b729-20c398b255e8/states", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/0988021b-8434-411e-a736-5bdefba74465 [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71147f71-fcdb-4a6c-b997-05553005b855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.61 DEBUG util.py:445: {"uuid": "0988021b-8434-411e-a736-5bdefba74465", "created_at": "2024-03-18T10:51:00.938644+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", "cpus": "8", "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/0988021b-8434-411e-a736-5bdefba74465", "rel": "self"}, {"href": "http://localhost/nodes/0988021b-8434-411e-a736-5bdefba74465", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0988021b-8434-411e-a736-5bdefba74465/ports", "rel": "self"}, {"href": "http://localhost/nodes/0988021b-8434-411e-a736-5bdefba74465/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0988021b-8434-411e-a736-5bdefba74465/states", "rel": "self"}, {"href": "http://localhost/nodes/0988021b-8434-411e-a736-5bdefba74465/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0988021b-8434-411e-a736-5bdefba74465/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0988021b-8434-411e-a736-5bdefba74465/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0988021b-8434-411e-a736-5bdefba74465/volume", "rel": "self"}, {"href": "http://localhost/nodes/0988021b-8434-411e-a736-5bdefba74465/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/ae92495e-d1f7-4229-b896-475ea5a2c5e3 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1e089d9-6891-484c-85eb-3093009ef3ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/c628ea2d-5822-44d0-bde5-a37782b74d3e [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97d6469b-c34b-4d19-93eb-7e818dfff9bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-fd9c771a-f4b4-4507-ad50-721da35f8006 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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", "cpus": "8", "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.TestPost.test_create_node [0.084710s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.048056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.060142s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc95f74f-15de-439c-b69b-88252fb7900b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/provision_updated_at', 'op': 'replace', 'value': '2000-01-01 00:00:00'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2edfa344-dba8-4085-ac0c-4c7f57ba64f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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, 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, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-167c23a6-03da-46c5-9e38-a960c0955eee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/c1a47824-ad71-4577-9484-c5ca319e3dda [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62f383db-e8f9-4d9f-8997-1100de6aa198 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-093f2460-6607-4948-9a09-3c455d0fdaea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-57.1 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/318dadf3-bc06-4451-8bb1-e1904d6c3e59 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70ff233c-78fc-4cc2-9cc0-00a17c473c90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/70db17a7-45ca-4fe9-9422-e50f0ab62e47 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72b71ea2-0c65-4c54-8d3d-8ff7e4ebc66e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "70db17a7-45ca-4fe9-9422-e50f0ab62e47", "created_at": "2024-03-18T10:51:00.851350+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", "cpus": "8", "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/70db17a7-45ca-4fe9-9422-e50f0ab62e47", "rel": "self"}, {"href": "http://localhost/nodes/70db17a7-45ca-4fe9-9422-e50f0ab62e47", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/70db17a7-45ca-4fe9-9422-e50f0ab62e47/ports", "rel": "self"}, {"href": "http://localhost/nodes/70db17a7-45ca-4fe9-9422-e50f0ab62e47/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/6c45e75e-060f-4830-a00f-e25acc1cbfa3 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4db29dcc-2121-4aa0-8903-4cfbf868b0aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "6c45e75e-060f-4830-a00f-e25acc1cbfa3", "created_at": "2024-03-18T10:51:00.934593+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", "cpus": "8", "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/6c45e75e-060f-4830-a00f-e25acc1cbfa3", "rel": "self"}, {"href": "http://localhost/nodes/6c45e75e-060f-4830-a00f-e25acc1cbfa3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6c45e75e-060f-4830-a00f-e25acc1cbfa3/ports", "rel": "self"}, {"href": "http://localhost/nodes/6c45e75e-060f-4830-a00f-e25acc1cbfa3/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/eb333d47-aa7f-4371-b9c5-001a9bf65dde [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-448e9391-ef5e-46d9-88fb-ea7415b809d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "eb333d47-aa7f-4371-b9c5-001a9bf65dde", "created_at": "2024-03-18T10:51:01.003204+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", "cpus": "8", "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/eb333d47-aa7f-4371-b9c5-001a9bf65dde", "rel": "self"}, {"href": "http://localhost/nodes/eb333d47-aa7f-4371-b9c5-001a9bf65dde", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eb333d47-aa7f-4371-b9c5-001a9bf65dde/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb333d47-aa7f-4371-b9c5-001a9bf65dde/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/8caf9535-4d2a-4a7d-85f6-1429d5305bc7 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4425d87b-8ae8-4628-9e9e-1341a1f24aee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "8caf9535-4d2a-4a7d-85f6-1429d5305bc7", "created_at": "2024-03-18T10:51:01.057198+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", "cpus": "8", "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/8caf9535-4d2a-4a7d-85f6-1429d5305bc7", "rel": "self"}, {"href": "http://localhost/nodes/8caf9535-4d2a-4a7d-85f6-1429d5305bc7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8caf9535-4d2a-4a7d-85f6-1429d5305bc7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8caf9535-4d2a-4a7d-85f6-1429d5305bc7/ports", "rel": "bookmark"}]} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-de2a5fb1-6421-4bc8-be4e-15dd8c5417c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:00.645897+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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:00.645897+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-d8deaf51-c57b-437b-b659-e1893fd5c2fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:00.818280+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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:00.818280+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'class1', 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-242db07a-2d80-4a6f-a22d-2a3100a29798 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.13 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be6e5232-4434-4151-9d2b-5451f0dcac9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.13 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1975808-7c46-4def-b764-e4488c9adf1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.168787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.109167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.061749s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/c8fd641b-bd0c-48ff-b73b-0f2f32c904e4 [{'path': '/protected', 'value': 'YeahNahGood', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3458421b-a3db-4139-bcdc-c4edbe4d291b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/nodes/52c3c972-cce4-4902-8360-55fd0a19fe9c [{'path': '/retired', 'value': True, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-101fd3eb-b0b4-41f7-b769-73f9256f4b66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'power_state': 'new state'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e1f3d95-1222-4621-bee8-f2b7459c1a14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: Additional properties are not allowed ('power_state' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ca5de8d-1174-44b1-9331-1dd9b5592070 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4b6444bf-7de0-472b-8323-6ea47df082b7", "created_at": "2024-03-18T10:51:01.137776+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", "cpus": "8", "local_gb": "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/4b6444bf-7de0-472b-8323-6ea47df082b7", "rel": "self"}, {"href": "http://localhost/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7/ports", "rel": "self"}, {"href": "http://localhost/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7/states", "rel": "self"}, {"href": "http://localhost/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7/volume", "rel": "self"}, {"href": "http://localhost/nodes/4b6444bf-7de0-472b-8323-6ea47df082b7/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': None} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-a3390576-00be-43e4-ac24-aeb6bd7c71fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86 DEBUG util.py:445: Openstack-Request-Id: req-01ce4aef-db20-4352-9de3-ea8cf8193691 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86", "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", "cpus": "8", "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/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86", "rel": "self"}, {"href": "http://localhost/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86/ports", "rel": "self"}, {"href": "http://localhost/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86/ports", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.283944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.044758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.075482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.040442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.047566s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.048377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.041625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.044247s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-601e84e7-7ba5-4459-9984-9225b87c90f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f8e596e-7595-4704-becf-47016e19e5b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-beee3cf4-1604-409c-bd1b-a664bac57a2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:01.394067+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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:01.394067+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'bob', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8093e85a-ca71-4358-ade1-8bbe78a5754c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa789c1c-9941-4d1d-bafe-970762cbcf3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.047386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.043151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.214716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.040847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.044197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.221333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.107954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.036887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.044343s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.042259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.038554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.045323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.089221s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.046325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.158414s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/b243c33a-e89a-4cb4-9e22-d658fc0445f1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ae68803-18d8-4a57-b95f-bc230bab351e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "b243c33a-e89a-4cb4-9e22-d658fc0445f1", "created_at": "2024-03-18T10:51:01.136097+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", "cpus": "8", "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/b243c33a-e89a-4cb4-9e22-d658fc0445f1", "rel": "self"}, {"href": "http://localhost/nodes/b243c33a-e89a-4cb4-9e22-d658fc0445f1", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b243c33a-e89a-4cb4-9e22-d658fc0445f1/ports", "rel": "self"}, {"href": "http://localhost/nodes/b243c33a-e89a-4cb4-9e22-d658fc0445f1/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/0577bc55-1c96-42a6-bffe-e50112dabc20 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d08a0087-0b6e-46b0-b5a4-1de30eece468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "0577bc55-1c96-42a6-bffe-e50112dabc20", "created_at": "2024-03-18T10:51:01.184933+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", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "error", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/0577bc55-1c96-42a6-bffe-e50112dabc20", "rel": "self"}, {"href": "http://localhost/nodes/0577bc55-1c96-42a6-bffe-e50112dabc20", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0577bc55-1c96-42a6-bffe-e50112dabc20/ports", "rel": "self"}, {"href": "http://localhost/nodes/0577bc55-1c96-42a6-bffe-e50112dabc20/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/78168afa-8109-4249-9311-df47272a1cfa [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed77fca6-8cd0-4ad0-bc70-924316144d25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "78168afa-8109-4249-9311-df47272a1cfa", "created_at": "2024-03-18T10:51:01.240137+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", "cpus": "8", "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/78168afa-8109-4249-9311-df47272a1cfa", "rel": "self"}, {"href": "http://localhost/nodes/78168afa-8109-4249-9311-df47272a1cfa", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/78168afa-8109-4249-9311-df47272a1cfa/ports", "rel": "self"}, {"href": "http://localhost/nodes/78168afa-8109-4249-9311-df47272a1cfa/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/34a49c76-fdf0-4e06-bbf6-7e9a2c06fff7 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82863d11-76d2-4360-bbca-ef3036651209 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "34a49c76-fdf0-4e06-bbf6-7e9a2c06fff7", "created_at": "2024-03-18T10:51:01.359308+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", "cpus": "8", "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/34a49c76-fdf0-4e06-bbf6-7e9a2c06fff7", "rel": "self"}, {"href": "http://localhost/nodes/34a49c76-fdf0-4e06-bbf6-7e9a2c06fff7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/34a49c76-fdf0-4e06-bbf6-7e9a2c06fff7/ports", "rel": "self"}, {"href": "http://localhost/nodes/34a49c76-fdf0-4e06-bbf6-7e9a2c06fff7/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/391c1923-5c92-406d-acb1-f9bbfdbca324 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be4d8a07-e4ce-4d9c-8809-3ccbdee18189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "391c1923-5c92-406d-acb1-f9bbfdbca324", "created_at": "2024-03-18T10:51:01.785293+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", "cpus": "8", "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/391c1923-5c92-406d-acb1-f9bbfdbca324", "rel": "self"}, {"href": "http://localhost/nodes/391c1923-5c92-406d-acb1-f9bbfdbca324", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/391c1923-5c92-406d-acb1-f9bbfdbca324/ports", "rel": "self"}, {"href": "http://localhost/nodes/391c1923-5c92-406d-acb1-f9bbfdbca324/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/96438808-ed23-4d54-8c6d-6e2a377961d4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8039a0c6-aabc-4bcc-880a-fd20c43e2ecf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "96438808-ed23-4d54-8c6d-6e2a377961d4", "created_at": "2024-03-18T10:51:01.892157+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", "cpus": "8", "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/96438808-ed23-4d54-8c6d-6e2a377961d4", "rel": "self"}, {"href": "http://localhost/nodes/96438808-ed23-4d54-8c6d-6e2a377961d4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/96438808-ed23-4d54-8c6d-6e2a377961d4/ports", "rel": "self"}, {"href": "http://localhost/nodes/96438808-ed23-4d54-8c6d-6e2a377961d4/ports", "rel": "bookmark"}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [1.164813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.068336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.055236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.048190s] ... ok DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-983ae713-1d87-4283-9d1b-22117b69d1d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b843c7ca-55e5-499f-ba22-36d5cfadd044 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28333117-7d39-4a44-93ec-421b5a823c36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee4fa673-0107-43ff-9d4b-69ef42392160 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47240d02-7cd7-4b9a-a974-39e1c2718ee4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'bios'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-c3e0859e-85e9-4193-9bbd-86e45e6825e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-779c4f09-70fa-4b5e-9dd9-8cf542419a9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-180b0626-016b-4c5c-bb62-2916c2f75d19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.70 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e511ca1d-470e-4394-a86e-618657d06581 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7e18683-7c52-47ce-b82b-695ffc57ddf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.6 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-97d65d8f-e894-4c4c-8c82-316b8259c5ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.4 DEBUG util.py:445: PUT: /v1/nodes/node-39/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/node-39/states DEBUG util.py:445: Openstack-Request-Id: req-0a014940-f22a-4e73-9c37-c76f91614bdc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-42ae4333-efd9-41ee-a030-ad77019f2e7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4d99a1e-e7ec-402c-86ab-f558de975364 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c94f6bc-96e2-49d3-8c93-0a19067d2279 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59d6bbfd-cfc5-4d53-9f67-a71e392769e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-722d6053-1c85-405d-8010-8fa521e3a25d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'not-supported'}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.119075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.128777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.071360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.171570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.083566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.094488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.076339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.113913s] ... ok DEBUG util.py:445: GET: /v1/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86 {} DEBUG util.py:445: GOT:{'uuid': 'a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5c40fdd-dae3-4d2d-a59b-6e63d3f3ad86/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'foo': 123}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-9aa1f499-0e3b-451a-ba98-b94f4b25e54d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:01.654681+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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:01.654681+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {'foo': 123}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a993eb65-6532-493c-a517-6ca5fe2f98fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 0} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-006649ec-87b9-4a66-bd93-55ef455642b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 0 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-871b6b06-31f0-4dfb-8139-e365bc7fa2dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18d08797-b3cb-4fc3-b6f8-8a3f7f92d8c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.091660s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.148669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.203903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.086543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.088808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.312098s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/1a185e60-8773-477f-9dfc-25569a996629 [{'path': '/instance_uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7eb299a4-0458-4c22-936b-0f7aa654f6e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.39 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"1a185e60-8773-477f-9dfc-25569a996629\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2de93978-4174-454a-a82e-510459ebe693 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-805b46ab-d3de-4925-b42a-9db5c2450a13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2de93978-4174-454a-a82e-510459ebe693 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-524422b7-24a5-493e-b163-3a7360b134de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2de93978-4174-454a-a82e-510459ebe693 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b5f8c69-16d7-4e16-b2d8-bfbb2dc3c9b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2de93978-4174-454a-a82e-510459ebe693 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec1a05cb-b554-4c2e-9ea4-3260b56ece9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2de93978-4174-454a-a82e-510459ebe693 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34a66445-0c5d-477c-8e19-1b5f8cff5c29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2de93978-4174-454a-a82e-510459ebe693 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-361e9df1-c85d-48b1-a50e-83b49df0e159 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2de93978-4174-454a-a82e-510459ebe693 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fad6df5-0c55-4230-86e5-8ef98f6396c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/2de93978-4174-454a-a82e-510459ebe693 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20f288d3-f3c0-493e-b70e-effae804f8c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff638539-b2b3-4b8b-8bf9-9416af7fa127 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.65 DEBUG util.py:445: {"uuid": "8651c6e9-2b2c-446d-b5e5-438bcde722d2", "created_at": "2024-03-18T10:51:02.297532+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", "cpus": "8", "local_gb": "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/8651c6e9-2b2c-446d-b5e5-438bcde722d2", "rel": "self"}, {"href": "http://localhost/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2/ports", "rel": "self"}, {"href": "http://localhost/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2/states", "rel": "self"}, {"href": "http://localhost/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2/volume", "rel": "self"}, {"href": "http://localhost/nodes/8651c6e9-2b2c-446d-b5e5-438bcde722d2/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ef40994-e488-4693-8f74-3b3f9b2fde27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1", "created_at": "2024-03-18T10:51:02.403609+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", "cpus": "8", "local_gb": "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/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1", "rel": "self"}, {"href": "http://localhost/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1/ports", "rel": "self"}, {"href": "http://localhost/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1/states", "rel": "self"}, {"href": "http://localhost/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1/volume", "rel": "self"}, {"href": "http://localhost/nodes/1473c8c3-f6be-4b5f-ac90-ad5a3d1e9df1/volume", "rel": "bookmark"}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.093517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.076964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.100184s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.086123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.056043s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.094741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.168469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.360397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.093711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.084818s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/node-57.1.json [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c0f29be-dd59-4312-ab25-100ce5bf95a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:02.483827+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", "cpus": "8", "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"}]} DEBUG util.py:445: PATCH: /v1/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dc1cd32-6585-4e49-85b3-ab3c4d668ecd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"uuid": "26dfc438-f266-4fed-9c77-84dbb50894c2", "created_at": "2024-03-18T10:51:02.571443+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", "cpus": "8", "local_gb": "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/26dfc438-f266-4fed-9c77-84dbb50894c2", "rel": "self"}, {"href": "http://localhost/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2/ports", "rel": "self"}, {"href": "http://localhost/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2/states", "rel": "self"}, {"href": "http://localhost/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2/volume", "rel": "self"}, {"href": "http://localhost/nodes/26dfc438-f266-4fed-9c77-84dbb50894c2/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894 [{'path': '/protected', 'value': True, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dae18c17-8901-41f8-b93e-14325e9451c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "c444860a-6df9-45ee-98bf-3a61eed3c894", "created_at": "2024-03-18T10:51:02.676956+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", "cpus": "8", "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/c444860a-6df9-45ee-98bf-3a61eed3c894", "rel": "self"}, {"href": "http://localhost/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894/ports", "rel": "self"}, {"href": "http://localhost/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894/states", "rel": "self"}, {"href": "http://localhost/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894/volume", "rel": "self"}, {"href": "http://localhost/nodes/c444860a-6df9-45ee-98bf-3a61eed3c894/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/9871008e-0601-4b71-b210-48cc151ee961 [{'op': 'remove', 'path': '/protected'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ddc43c22-b6e8-48df-8e19-8263df8b726b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "9871008e-0601-4b71-b210-48cc151ee961", "created_at": "2024-03-18T10:51:02.752239+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", "cpus": "8", "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/9871008e-0601-4b71-b210-48cc151ee961", "rel": "self"}, {"href": "http://localhost/nodes/9871008e-0601-4b71-b210-48cc151ee961", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9871008e-0601-4b71-b210-48cc151ee961/ports", "rel": "self"}, {"href": "http://localhost/nodes/9871008e-0601-4b71-b210-48cc151ee961/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9871008e-0601-4b71-b210-48cc151ee961/states", "rel": "self"}, {"href": "http://localhost/nodes/9871008e-0601-4b71-b210-48cc151ee961/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9871008e-0601-4b71-b210-48cc151ee961/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9871008e-0601-4b71-b210-48cc151ee961/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9871008e-0601-4b71-b210-48cc151ee961/volume", "rel": "self"}, {"href": "http://localhost/nodes/9871008e-0601-4b71-b210-48cc151ee961/volume", "rel": "bookmark"}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.080249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.052894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.152948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.067451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.105463s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.112365s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-ea98079f-49cc-4146-9906-d4e5bf70fa5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:02.324796+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", "cpus": "8", "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"}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-396dcec0-ba67-4240-a90d-a325e9f3f0c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:02.611356+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", "cpus": "8", "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, "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:02.611356+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': 'foo', 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, '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': None, 'allocation_uuid': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-d54b57d1-a735-442b-9092-877fa061aa32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:02.928421+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", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.258798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.193834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.122377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.085756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.172079s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/2458b40f-996d-4263-898a-23907695cf61 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbce2a35-7bd9-491e-9e9a-f808e164a355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/022284c5-c987-480c-9dcd-bb6ea32faa53 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-319279bc-315f-4906-a346-0653e70823b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/d50cb382-2886-45dd-964b-346264818bda [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d3c4c18-69f0-4d9a-a7ff-45a198c8fefe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.61 DEBUG util.py:445: {"uuid": "d50cb382-2886-45dd-964b-346264818bda", "created_at": "2024-03-18T10:51:02.957691+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", "cpus": "8", "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/d50cb382-2886-45dd-964b-346264818bda", "rel": "self"}, {"href": "http://localhost/nodes/d50cb382-2886-45dd-964b-346264818bda", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d50cb382-2886-45dd-964b-346264818bda/ports", "rel": "self"}, {"href": "http://localhost/nodes/d50cb382-2886-45dd-964b-346264818bda/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d50cb382-2886-45dd-964b-346264818bda/states", "rel": "self"}, {"href": "http://localhost/nodes/d50cb382-2886-45dd-964b-346264818bda/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d50cb382-2886-45dd-964b-346264818bda/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d50cb382-2886-45dd-964b-346264818bda/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d50cb382-2886-45dd-964b-346264818bda/volume", "rel": "self"}, {"href": "http://localhost/nodes/d50cb382-2886-45dd-964b-346264818bda/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01620637-f4ed-4034-a953-91c41796d1d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:03.068017+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", "cpus": "8", "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"}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-d985d05e-2a72-4a32-ae0c-7a04ecce826d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.11 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:03.184230+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", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.118775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.191065s] ... ok DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-ae929619-370a-4d62-bbf2-4db1e7156fa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} DEBUG util.py:445: GOT:foo DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-59fb0283-2db2-4e90-98a5-5d88459b9fff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dfe26f7-31da-4c29-b869-cc8f0094b101 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3d5efb4-6e69-434d-b987-936ff3a3d3a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'bios'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2525b54-d505-4b77-af0d-d1fe2f824fc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f4d7cfe-74a4-4f08-8fac-c436c0e43e89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6379f39-b070-4afd-99ab-06715d1873bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"bad\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-0e20bb64-96cc-42aa-a369-33588b0914bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cadf7593-6cc8-4f72-a726-812f9be6eb95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-d2aced29-e2ea-4daf-b8fd-02065fe4b2a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.41 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d08c1f99-eab8-4334-a7f1-26c6afb0c5ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.6 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f42ed7d6-83aa-4577-8716-01954b89c178 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-3fba4429-bb64-439d-9873-f4e56e6f1904 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52146cd3-81e3-4a89-a6f0-f495bcaedfc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcc3a4c9-61b4-4447-b2f9-1aa4f91ec35e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-43b0165f-45d5-4aa0-8c70-66aa0f83f1db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-9704f1bf-fbc5-4209-9aff-e1160f7e34a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90c71e22-6a02-4328-ba34-96fc233c3c4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-2e1d2c80-c846-4b68-b932-ae96ced61866 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.095854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.128488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.196802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.157610s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:03.184230+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-f15fb9fa-972e-4552-9a5c-e3961cd71da7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:03.310048+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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:03.310048+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:03.310048+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.071352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.099594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.073917s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:02.928421+00:00', 'updated_at': None, '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': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e80ad8cf-5f44-4dd9-bfaf-c1e091c5d718 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'e4afc164-5242-468a-8576-f5cacca41864', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864 DEBUG util.py:445: Openstack-Request-Id: req-04ea2907-2548-4a4c-8a44-a3f6c4d9ad4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "e4afc164-5242-468a-8576-f5cacca41864", "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", "cpus": "8", "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/e4afc164-5242-468a-8576-f5cacca41864", "rel": "self"}, {"href": "http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864/ports", "rel": "self"}, {"href": "http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864/states", "rel": "self"}, {"href": "http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864/volume", "rel": "self"}, {"href": "http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/e4afc164-5242-468a-8576-f5cacca41864 {} DEBUG util.py:445: GOT:{'uuid': 'e4afc164-5242-468a-8576-f5cacca41864', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864', 'rel': 'self'}, {'href': 'http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/e4afc164-5242-468a-8576-f5cacca41864/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/e4afc164-5242-468a-8576-f5cacca41864/volume', 'rel': 'bookmark'}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.049387s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.041191s] ... ok DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24c88b1f-4cbb-4b35-97fb-148fd6a9b7ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'neutron', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-166d4eb1-ad24-4c8c-bc39-0c50db2ed586 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'neutron', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.148554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.076864s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.208657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.057206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.041221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.042056s] ... ok DEBUG util.py:445: POST: /v1/nodes {'uuid': 'edb709df-f302-452c-95ca-d8e597900176', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176 DEBUG util.py:445: Openstack-Request-Id: req-40100194-f8b0-4795-a1bc-bdfb22257927 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "edb709df-f302-452c-95ca-d8e597900176", "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", "cpus": "8", "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/edb709df-f302-452c-95ca-d8e597900176", "rel": "self"}, {"href": "http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176/ports", "rel": "self"}, {"href": "http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176/states", "rel": "self"}, {"href": "http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176/volume", "rel": "self"}, {"href": "http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/edb709df-f302-452c-95ca-d8e597900176 {} DEBUG util.py:445: GOT:{'uuid': 'edb709df-f302-452c-95ca-d8e597900176', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176', 'rel': 'self'}, {'href': 'http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/edb709df-f302-452c-95ca-d8e597900176/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/edb709df-f302-452c-95ca-d8e597900176/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '58c74247-dbf5-4b9d-835b-c770faf69ed8', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8 DEBUG util.py:445: Openstack-Request-Id: req-916dba83-9e29-43f2-aea1-5fc01dca3fb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "58c74247-dbf5-4b9d-835b-c770faf69ed8", "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", "cpus": "8", "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/58c74247-dbf5-4b9d-835b-c770faf69ed8", "rel": "self"}, {"href": "http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/ports", "rel": "self"}, {"href": "http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/states", "rel": "self"}, {"href": "http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/volume", "rel": "self"}, {"href": "http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/volume", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.032941s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.087447s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.115704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.055970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.035413s] ... ok DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0855a924-2266-43cf-ade2-3c4d891fa6bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bd040c9-261e-458b-8053-0f56ab2af918 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-a58f01e1-f85d-4e7d-b41b-ad65e6913fe7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-e42a13c8-dab6-42ca-b513-c1d42d5a5a55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-7d95e455-5b6e-42e8-a6c5-b36dca9a07c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-b302bb86-9e82-4e55-9068-74bec44bbc50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-73ddca2d-8cba-4621-bfe5-b6042986494b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': {'serialize': 'me'}, 'meta_data': {'hostname': 'example.com'}, 'network_data': {'links': []}, 'vendor_data': {'foo': 'bar'}}} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-cb6c4ee3-36a6-43aa-81a6-75a124ce4ad6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-b485b993-dcfa-40a0-b45a-496bf1bb7bb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.35 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9664d9f-dbec-46a7-838e-bba744d68575 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/node-39/states/console DEBUG util.py:445: Openstack-Request-Id: req-4b552126-c6f3-4f7e-9b79-cb84b8b90792 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cb2bcbc-dcf0-4e76-a5af-00ea5e1b3f32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'invalid-value'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b29a1c5-b6c8-4cbb-bb26-8d22f27ed2b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-efdee37c-18f3-4190-b962-fc05e420fbd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-3cd719f8-b782-4319-af26-a5872422b5be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/node-39/maintenance {} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-4302b3b1-a8a6-4179-8467-c732dd7fbec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f9dae9e-f822-418e-a81a-b08e6d88cd5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a89a4ba-2dc0-425e-ad6b-99e976e88ae1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.36 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits/CUSTOM_1 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d36641d4-326f-400e-b02f-77ce82e42aa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"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}"} DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits/CUSTOM_1 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab15376b-7a2f-471a-aa71-7b86df1552c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.061883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.042353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.098378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.092171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.043087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.037750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.098687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.016513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.015882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.036938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.040297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.037177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.138089s] ... ok DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8853424-bde7-48e0-b60d-6514fcd8f790 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d496f60-8d3c-4af0-91e1-89df04479435 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4b9a3b5-7772-492e-84a6-84e540bda72e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecd78c3b-dc72-45a5-a704-a2fe7e2b0a2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 'driver' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-c7720401-654c-4306-a14c-14abecd1d2ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:03.998575+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": "cowsay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "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, "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:03.998575+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': 'cowsay', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, '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': None, 'allocation_uuid': None, '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_owner [0.143484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.062004s] ... ok DEBUG util.py:445: GET: /v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8 {} DEBUG util.py:445: GOT:{'uuid': '58c74247-dbf5-4b9d-835b-c770faf69ed8', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8', 'rel': 'self'}, {'href': 'http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/58c74247-dbf5-4b9d-835b-c770faf69ed8/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'b6e001b1-29ca-47c3-ab19-6a2758d58518', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518 DEBUG util.py:445: Openstack-Request-Id: req-bd00fcf5-19a1-49da-887d-c986b3286b7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "b6e001b1-29ca-47c3-ab19-6a2758d58518", "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", "cpus": "8", "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/b6e001b1-29ca-47c3-ab19-6a2758d58518", "rel": "self"}, {"href": "http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/ports", "rel": "self"}, {"href": "http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/states", "rel": "self"}, {"href": "http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/volume", "rel": "self"}, {"href": "http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518 {} DEBUG util.py:445: GOT:{'uuid': 'b6e001b1-29ca-47c3-ab19-6a2758d58518', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6e001b1-29ca-47c3-ab19-6a2758d58518/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'cf6ec5e0-1436-41a0-a055-30542e9a4234', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234 DEBUG util.py:445: Openstack-Request-Id: req-a2d636d1-65a5-44e8-836f-de5b8fdde8a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "cf6ec5e0-1436-41a0-a055-30542e9a4234", "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", "cpus": "8", "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/cf6ec5e0-1436-41a0-a055-30542e9a4234", "rel": "self"}, {"href": "http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/ports", "rel": "self"}, {"href": "http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/states", "rel": "self"}, {"href": "http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/volume", "rel": "self"}, {"href": "http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234 {} DEBUG util.py:445: GOT:{'uuid': 'cf6ec5e0-1436-41a0-a055-30542e9a4234', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf6ec5e0-1436-41a0-a055-30542e9a4234/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '3a076aed-ce59-4e2e-bc75-dccb39d5f4fa', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa DEBUG util.py:445: Openstack-Request-Id: req-1264c04c-8339-4f6c-8924-04baa184e4f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "3a076aed-ce59-4e2e-bc75-dccb39d5f4fa", "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", "cpus": "8", "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/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa", "rel": "self"}, {"href": "http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/ports", "rel": "self"}, {"href": "http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/states", "rel": "self"}, {"href": "http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/volume", "rel": "self"}, {"href": "http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa {}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.181606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.037740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.127648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.055169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.077163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.043083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.047528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.148814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.031640s] ... ok DEBUG util.py:445: GOT:{'uuid': '3a076aed-ce59-4e2e-bc75-dccb39d5f4fa', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a076aed-ce59-4e2e-bc75-dccb39d5f4fa/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '3687c989-aaa0-442f-96e4-8b95a780fc89', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89 DEBUG util.py:445: Openstack-Request-Id: req-8e610345-7707-40c1-85ef-3e9e78ae3648 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "3687c989-aaa0-442f-96e4-8b95a780fc89", "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", "cpus": "8", "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/3687c989-aaa0-442f-96e4-8b95a780fc89", "rel": "self"}, {"href": "http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/ports", "rel": "self"}, {"href": "http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/states", "rel": "self"}, {"href": "http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/volume", "rel": "self"}, {"href": "http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89 {} DEBUG util.py:445: GOT:{'uuid': '3687c989-aaa0-442f-96e4-8b95a780fc89', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3687c989-aaa0-442f-96e4-8b95a780fc89/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'b6256431-564a-45ef-995f-c280f4379bb5', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.050154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.166515s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.059386s] ... ok DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ccb98e1-ebbb-40c8-9448-f3529bb77a50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7eabb55-2ec5-4408-9bc4-0a1f2c995e80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e42d3ab2-753b-4462-a0af-8a02ebcb1c56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce36bf6d-fafe-4aa9-ac27-7c608a9f8494 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63643063-05dc-4091-bd3e-5db8acb58a6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc77687b-55f1-402e-a3e1-d658a12d6eac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8be83089-12c3-441a-87d5-ab964cc2fd2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a25f7bf7-fff7-4596-ba62-9e35c3a24d90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.261693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.191703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.033381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.110897s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5 DEBUG util.py:445: Openstack-Request-Id: req-da8bf6b1-242c-4c62-8e60-55232ae5288a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "b6256431-564a-45ef-995f-c280f4379bb5", "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", "cpus": "8", "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/b6256431-564a-45ef-995f-c280f4379bb5", "rel": "self"}, {"href": "http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5/ports", "rel": "self"}, {"href": "http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5/states", "rel": "self"}, {"href": "http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5/volume", "rel": "self"}, {"href": "http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5 {} DEBUG util.py:445: GOT:{'uuid': 'b6256431-564a-45ef-995f-c280f4379bb5', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/b6256431-564a-45ef-995f-c280f4379bb5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6256431-564a-45ef-995f-c280f4379bb5/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'e267e7ec-95eb-4abb-8cd6-059f313d3674', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674 DEBUG util.py:445: Openstack-Request-Id: req-578705c3-467b-41ab-8280-2af4084c2bc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "e267e7ec-95eb-4abb-8cd6-059f313d3674", "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", "cpus": "8", "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/e267e7ec-95eb-4abb-8cd6-059f313d3674", "rel": "self"}, {"href": "http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/ports", "rel": "self"}, {"href": "http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/states", "rel": "self"}, {"href": "http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/volume", "rel": "self"}, {"href": "http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674 {} DEBUG util.py:445: GOT:{'uuid': 'e267e7ec-95eb-4abb-8cd6-059f313d3674', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674', 'rel': 'self'}, {'href': 'http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/e267e7ec-95eb-4abb-8cd6-059f313d3674/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '3cff4f65-a8dd-4675-b7fe-7e2329cbfcba', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'rescue_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba DEBUG util.py:445: Openstack-Request-Id: req-b9c479cf-f683-485c-93b3-0564141867b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "3cff4f65-a8dd-4675-b7fe-7e2329cbfcba", "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", "cpus": "8", "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/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba", "rel": "self"}, {"href": "http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/ports", "rel": "self"}, {"href": "http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/states", "rel": "self"}, {"href": "http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/volume", "rel": "self"}, {"href": "http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba {} DEBUG util.py:445: GOT:{'uuid': '3cff4f65-a8dd-4675-b7fe-7e2329cbfcba', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cff4f65-a8dd-4675-b7fe-7e2329cbfcba/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '0f39822a-e0e3-426c-a0cc-f4989f444ca7', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'noop', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7 DEBUG util.py:445: Openstack-Request-Id: req-0785684b-32a0-4f94-b460-ce8426256188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "0f39822a-e0e3-426c-a0cc-f4989f444ca7", "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", "cpus": "8", "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/0f39822a-e0e3-426c-a0cc-f4989f444ca7", "rel": "self"}, {"href": "http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/ports", "rel": "self"}, {"href": "http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/states", "rel": "self"}, {"href": "http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/volume", "rel": "self"}, {"href": "http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7 {} DEBUG util.py:445: GOT:{'uuid': '0f39822a-e0e3-426c-a0cc-f4989f444ca7', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f39822a-e0e3-426c-a0cc-f4989f444ca7/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'd0f6cfec-c043-42d2-aa3f-1ee31762e486', '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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486 DEBUG util.py:445: Openstack-Request-Id: req-2b1c173e-46b3-4f68-a5e4-17fa82a17b51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "d0f6cfec-c043-42d2-aa3f-1ee31762e486", "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", "cpus": "8", "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/d0f6cfec-c043-42d2-aa3f-1ee31762e486", "rel": "self"}, {"href": "http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/ports", "rel": "self"}, {"href": "http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/states", "rel": "self"}, {"href": "http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/volume", "rel": "self"}, {"href": "http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486 {}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [1.589644s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:{'traits': ['CUSTOM_1', 'CUSTOM_2']} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f2c5854-2cfb-4479-b2ae-9f0c5a790daa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.36 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-187172b2-c9f0-415a-adef-690221fba061 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: DELETE: /v1/ports/52:54:00:cf:2d:31 DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fc61687-a036-474f-8978-a35a0fbdff48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/1400e6b3-b181-4005-b70b-d3019ca53e6e DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5691f74b-1712-4cc6-8fe1-1f4a22d8d231 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/detail?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:04.116763+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/ports?detail=False {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/ports/detail?sort_key=pxe_enabled {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbb6585e-5738-4398-aff7-9eccd564743f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.18 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '871ef11e-5103-4ee8-ba19-a671c3c7296c', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/871ef11e-5103-4ee8-ba19-a671c3c7296c', 'rel': 'self'}, {'href': 'http://localhost/ports/871ef11e-5103-4ee8-ba19-a671c3c7296c', 'rel': 'bookmark'}]}, {'uuid': '5cf0d6b9-9bbc-431d-be2b-763a25231edb', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/5cf0d6b9-9bbc-431d-be2b-763a25231edb', 'rel': 'self'}, {'href': 'http://localhost/ports/5cf0d6b9-9bbc-431d-be2b-763a25231edb', 'rel': 'bookmark'}]}, {'uuid': '6eb824ac-c72b-4872-97a4-d8fb0d45f696', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/6eb824ac-c72b-4872-97a4-d8fb0d45f696', 'rel': 'self'}, {'href': 'http://localhost/ports/6eb824ac-c72b-4872-97a4-d8fb0d45f696', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'd113db2b-6f5f-46d5-a095-d64096decbfd', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/d113db2b-6f5f-46d5-a095-d64096decbfd', 'rel': 'self'}, {'href': 'http://localhost/ports/d113db2b-6f5f-46d5-a095-d64096decbfd', 'rel': 'bookmark'}]}, {'uuid': 'a8be988f-81e3-406e-9e6b-a48ad696c20b', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/a8be988f-81e3-406e-9e6b-a48ad696c20b', 'rel': 'self'}, {'href': 'http://localhost/ports/a8be988f-81e3-406e-9e6b-a48ad696c20b', 'rel': 'bookmark'}]}, {'uuid': '7ee61918-42ac-4e89-a102-fca02ea86357', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/7ee61918-42ac-4e89-a102-fca02ea86357', 'rel': 'self'}, {'href': 'http://localhost/ports/7ee61918-42ac-4e89-a102-fca02ea86357', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4&node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ff3153d-1be8-4d27-84e3-2bfbe35d2d92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e482fa31-1587-492e-9290-eee2667735e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.52 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c78a0e7-29d7-462e-8363-18d31a388a10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} DEBUG util.py:445: GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:04.714190+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:04.714190+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.053054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.048530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.043351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.073671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.050238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.052509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.236764s] ... ok DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2420e44-f0dd-4159-9364-d1456b4073e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-983ce2be-0100-4feb-b9fc-2122737afe9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d56335a0-e622-43d1-9fc0-a876351da8e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0e6942e-6b43-4e12-85bf-4922a5633e37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e8bf975-a945-4be5-83c6-a8d00f658d48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"rescue_password\\\" is only valid when setting target provision state to rescue\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-16373b84-f1d8-404c-a6d5-718a5a9660cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-cd87a391-d6c0-48cb-b6ab-277b477e87a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-fd54fe0e-9561-4768-ab6b-e67d9e9f4cbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': 'foo'}} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-118348c3-eb5f-4c0a-b9dc-3e3d5847c516 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.56 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': ['aabb']} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96256029-7853-4655-a3f6-65988abd824e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , , for configdrive: ['aabb']\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-d607e277-5459-4923-aa5f-dc28b31f27a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset'}]} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-266cbd10-ca46-4c2a-a662-aa010d534ed7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.69\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-2cb53a62-30cb-4f7e-a55d-a65eaaa9c0f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-0984492f-928b-4dc9-bca5-c6ab8bafa6fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'undeploy'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-7f99f4f1-c150-4e74-86d2-4105f076b1cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-6965603d-fb74-4504-8357-210548463ad1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a46a5e3-6fc8-44ee-8f6c-86209d8a3f11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"foo\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.145788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.080780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.104659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.081943s] ... ok DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3eea237d-0be3-4436-9207-e96cd2513068 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a512d6f-27f8-469f-bc2d-e85e6a0f19b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e32d0bb-582c-445c-a286-b3285891baca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-044eeba6-edc0-404f-b36e-5e0c8f3adf13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42bba771-1523-479f-bfd3-e22de64cffa0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d526b98f-5403-499b-b4b9-8e921c558fbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cf88370-6bde-4cdb-9e2d-e7bd5d035217 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', '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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-48b12846-a24d-4ca7-8b87-279c17c289d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:04.718620+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", "cpus": "8", "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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:04.718620+00:00', 'updated_at': None, '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': None, 'dict': {'cat': 'meow'}}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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.TestPost.test_create_node_valid_extra [0.207393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.248041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.133542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.093743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.060577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.151601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.041293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.085806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.136450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.047829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.108805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.116576s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.059333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.083973s] ... ok DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:04.764197+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:04.764197+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:04.811857+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports/ec2716a2-98a7-49da-bafa-335b15d1e131 {} DEBUG util.py:445: GOT:{'uuid': 'ec2716a2-98a7-49da-bafa-335b15d1e131', 'created_at': '2024-03-18T10:51:04.870560+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/ec2716a2-98a7-49da-bafa-335b15d1e131', 'rel': 'self'}, {'href': 'http://foo/ports/ec2716a2-98a7-49da-bafa-335b15d1e131', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/ec2716a2-98a7-49da-bafa-335b15d1e131 {} DEBUG util.py:445: GOT:{'uuid': 'ec2716a2-98a7-49da-bafa-335b15d1e131', 'created_at': '2024-03-18T10:51:04.870560+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/ec2716a2-98a7-49da-bafa-335b15d1e131', 'rel': 'self'}, {'href': 'http://foo/ports/ec2716a2-98a7-49da-bafa-335b15d1e131', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /ports/ec2716a2-98a7-49da-bafa-335b15d1e131 {} DEBUG util.py:445: GOT:{'uuid': 'ec2716a2-98a7-49da-bafa-335b15d1e131', 'created_at': '2024-03-18T10:51:04.870560+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/ec2716a2-98a7-49da-bafa-335b15d1e131', 'rel': 'self'}, {'href': 'http://foo/ports/ec2716a2-98a7-49da-bafa-335b15d1e131', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'a94d45da-402c-4892-9795-3956c42e3616', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/a94d45da-402c-4892-9795-3956c42e3616', 'rel': 'self'}, {'href': 'http://localhost/ports/a94d45da-402c-4892-9795-3956c42e3616', 'rel': 'bookmark'}]}, {'uuid': 'a90d4266-ab4f-46b0-9194-e739b075c97f', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/a90d4266-ab4f-46b0-9194-e739b075c97f', 'rel': 'self'}, {'href': 'http://localhost/ports/a90d4266-ab4f-46b0-9194-e739b075c97f', 'rel': 'bookmark'}]}, {'uuid': '56615cee-21df-4bc1-ad81-8dbce5b21c5b', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/56615cee-21df-4bc1-ad81-8dbce5b21c5b', 'rel': 'self'}, {'href': 'http://localhost/ports/56615cee-21df-4bc1-ad81-8dbce5b21c5b', 'rel': 'bookmark'}]}, {'uuid': '344938d0-d73b-49b7-a1cb-b4c067c8e415', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/344938d0-d73b-49b7-a1cb-b4c067c8e415', 'rel': 'self'}, {'href': 'http://localhost/ports/344938d0-d73b-49b7-a1cb-b4c067c8e415', 'rel': 'bookmark'}]}, {'uuid': '1dd80623-2f70-48dc-8c2a-cc1a8f835ebe', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/1dd80623-2f70-48dc-8c2a-cc1a8f835ebe', 'rel': 'self'}, {'href': 'http://localhost/ports/1dd80623-2f70-48dc-8c2a-cc1a8f835ebe', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'e323d8c0-a952-40b3-8de3-7e876cef8c2b', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/e323d8c0-a952-40b3-8de3-7e876cef8c2b', 'rel': 'self'}, {'href': 'http://localhost/ports/e323d8c0-a952-40b3-8de3-7e876cef8c2b', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7ba2feb-d850-40f7-81bb-912fb12fd667 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d95f2332-9beb-496d-a6da-c304301fde5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?sort_key=internal_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41733f3c-0ad0-4781-8e3a-8e2b6824bae3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?sort_key=local_link_connection {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85750861-d499-4c79-a0e4-ed7fa4496f9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ccf780f-617c-4b6f-8009-8f54a081c618 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af1b00c7-0836-4cf4-98ac-7b74f0d097f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bd97bcf-6845-4672-a1fd-22c3ba2a4037 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:05.351349+00:00", "updated_at": "2024-03-18T10:51:05.367283+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}{2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.085015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.071652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.176059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.042615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.106122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.053927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.056749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.119295s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.039175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.253914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.094320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.085523s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.039200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.054889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.175027s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.129150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.095654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.079399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.093722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.099860s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.136136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.334930s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.200733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.101516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.079159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.143757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.097295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.066756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.104394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.123228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.151838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.069358s] ... ok DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e06ec694-de1d-4e8f-a3dc-f1819149d81e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/b3cb5d6a-61ef-40ed-951d-de3660a6bf77 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-416b4e46-97c6-4a65-a907-4ab9292cd0b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"uuid": "b3cb5d6a-61ef-40ed-951d-de3660a6bf77", "created_at": "2024-03-18T10:51:05.519381+00:00", "updated_at": "2024-03-18T10:51:05.540932+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, "links": [{"href": "http://localhost/v1/ports/b3cb5d6a-61ef-40ed-951d-de3660a6bf77", "rel": "self"}, {"href": "http://localhost/ports/b3cb5d6a-61ef-40ed-951d-de3660a6bf77", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a2bd76a-5a08-4544-8406-fac10cd41fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:05.600588+00:00", "updated_at": "2024-03-18T10:51:05.622140+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-843eff52-c455-4228-a809-58a119669e9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:05.600588+00:00", "updated_at": "2024-03-18T10:51:05.635574+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8302f8f-2e1e-4b05-8eba-3b59a926b523 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-022e685a-dcaf-44f6-bb7f-429f646833b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:05.707053+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-430884c8-edbc-4d67-aaa7-a4124d989ab9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87685383-f9ce-4a91-a202-61352d0ba7d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '06529ea1-cada-40a2-98a5-64be04cf31c5', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '04e6ded1-cdba-49fc-899b-a2f0af28d9ee', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dd6a7c6-28e7-4065-8cf1-bf5a70be0b5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:06.002270+00:00", "updated_at": "2024-03-18T10:51:06.050275+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "04e6ded1-cdba-49fc-899b-a2f0af28d9ee"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d32da01-618c-48f3-9f06-08925babd82b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:06.121757+00:00", "updated_at": "2024-03-18T10:51:06.137320+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76e4ae4e-f971-45d5-a9e6-491c5a2831a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:06.176474+00:00", "updated_at": "2024-03-18T10:51:06.201630+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}{2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.064689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.123312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.035714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.023922s] ... ok DEBUG util.py:445: POST: /v1/nodes {'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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-e07012d7-9588-4753-875b-d13019478ce5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:04.921404+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"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-03-18T10:51:04.921404+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, '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'}]} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4795ef8e-7989-4cb1-ae92-a7210fcdc3fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d329332-2ac7-4355-a3da-d7cabae7002c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a9f31be-d8e7-4c04-ba63-e59ba3fdfd63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-53d35948-0a1e-4914-8a8d-5b5176e1a0b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-5c8712c1-c79d-4824-9105-493401ea3610 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-06a52d9e-ce05-4c47-96e8-ac397addd3f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8109fa9-bcb6-4cbd-90cf-7668e50538f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.16 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c610db9-cb54-419f-b31b-97c74d9d1300 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b38395c-2a1c-4eef-b3d6-f67eb743da41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.159640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.116833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.149055s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.107876s] ... ok DEBUG util.py:445: GOT:{'uuid': 'd0f6cfec-c043-42d2-aa3f-1ee31762e486', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486', 'rel': 'self'}, {'href': 'http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d0f6cfec-c043-42d2-aa3f-1ee31762e486/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a471208-55e0-4772-a4a4-7eb83a82634e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'reservation': 'fake'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b908aff2-6080-4e80-9baf-a19bda5e9701 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('reservation' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a19c00d8-68fb-40f7-b557-95870b34f5c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support test (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70249ea1-673f-46e7-928f-f97e80e7e103 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"cat": "meow"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-dd7b0f97-d33e-4b21-ad2e-60d5e8f6cc1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'unsupported-efi'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74b0dee6-8d42-46c7-9f9b-4264ea70c62a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid boot mode unsupported-efi requested for node. Allowed boot modes are: bios, uefi\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71110f01-6baa-4d9d-9d27-afdc19db8457 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af0aab14-f6be-4d4e-a282-c67c21d3c54c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e27bd1c-f35c-42a7-ac60-d5cb6446b543 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-cd9b1ebc-6706-4e64-b953-2efc3f3172fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'not-supported'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.061239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.055220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.115474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.054485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.169088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.044125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.052780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.075705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.049015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.163456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.065869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.091915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.081989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.066224s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2e77721-9f51-4ee9-a8ec-33746107571e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 0} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-8d6e2bc5-289e-4363-9143-c4a19cf19e4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 2} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9986bdb8-309f-44fb-aa17-f6531439c42a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61146540-61a1-466b-ad06-5e76a8e4d23d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-84fccfad-9c99-4acd-97b7-7fb45a8e42c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f83b2da8-4863-4ed9-93cf-add026fe0f21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2b54a36-ee70-4da9-a2d1-8d198d5740aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83bcad22-5614-45c4-85de-d03a2e7095e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'false'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: Openstack-Request-Id: req-177640b4-ecd3-4d00-bd96-35db5bc85fa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: Openstack-Request-Id: req-136d1142-4c6b-4fc3-989f-11f59c16fc8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=glow {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1cbe087b-8297-442d-b8f3-63523c753d27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"error\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=on {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ca759f0a-8a81-4373-a29e-fec365b4e2d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 DEBUG util.py:445: Openstack-Request-Id: req-53542c70-f9b8-43c1-81cf-c9ca93d4e0de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b98f2c30-87d1-4138-9f6b-eb5a305ab71e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-641cbed1-d931-4126-b897-6f5c80d20f9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-97a8d93b-8765-4efe-885b-3fa518faff39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits/CUSTOM_1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-3ae1d10c-ce57-4f87-a295-9159bba58fdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: GET: /v1/nodes/badname/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b4cb91b-2b0a-4c1e-9c91-642a7ecb882f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5727964e-e9a3-4158-a62a-a6659d09c515 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: Additional properties are not allowed ('trait' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'traits': []} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-88a193b1-b479-4556-b83e-b58db2dac59a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.141452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.061609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.088312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.076237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.115098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.062460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.083050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.060344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.094836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.052434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.132564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.046619s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.036677s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.030535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.149319s] ... ok DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa8463bd-0633-4949-aa76-f68242a3940e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.39 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-b3f98265-e8f0-49d3-8994-f4ab551d3439 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:06.493539+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:06.493539+00:00', 'updated_at': None, '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': None, 'pxe_enabled': 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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1caa72aa-ef5d-47ea-9d2b-2362892a0dec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': 'invalid-format', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a92f0b31-4de3-48c6-9813-2d6f5102d2db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b885ce9c-072b-47eb-b520-428d8e65a5b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-fac8b2b9-1453-4d42-a306-17edf6ca9d19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:06.822880+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'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, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5cc4276-3101-42a5-a0b3-0b3ddb671aaf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-68002ec9-266e-457a-b614-45382788b0ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:06.992044+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}{2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.086081s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.056872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.071953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.070604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.050831s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.153891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_deploy [0.077230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.057557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.081977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.041592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.083973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.038091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.045199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.044670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.128883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.080017s] ... ok DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0308451d-91fc-4975-ad1f-75a8ef29212b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aad5ed9-b8da-4be8-878e-56e945f1f031 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2ff2785-3a43-4c73-b2f0-827f5060c579 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-c6cb1134-981f-40e7-a480-ea7ce2006b0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba7c032a-1358-43e4-88ce-efa5a39e5c42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-517c36ac-40ce-4b43-a341-1bec20af915c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-766451ca-70b0-4225-94d8-c3a62922af8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.4 DEBUG util.py:445: PUT: /v1/nodes/node-39/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/node-39/states DEBUG util.py:445: Openstack-Request-Id: req-4eaa51ee-838a-459f-9297-629683ab0b9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36d105e5-825b-4a5d-9b84-1319dd547dfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0612e986-f5e4-4f01-82c2-bf09dab06945 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted', 'configdrive': 'foo'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e384659-178a-42f4-9ced-86d29806fc8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-388d7483-e3c9-4e7d-95c4-6aeb97f92fce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': '{"meta_data": '} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf2226ff-9d0c-4138-bd5f-6a6ee2fbd008 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid configdrive format: it is neither a JSON, nor a URL, nor a base64 string\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-251e070c-d63f-497f-b68c-786e066d82e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': None} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8dacc23c-f36f-4e57-9597-6942d550ed6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid secure_boot None requested for node. Allowed secure_boot states are: True, False) \", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'boo!'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdfab347-2e0e-4626-82b1-9c5ed4a18ce2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': True} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaadaafa-7d95-4dfc-8661-ab7a7dd4db3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 1} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-f1fc1f6d-e4ba-4e0b-9a8f-70c0ec57695e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.051840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.063113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.064934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.133769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.092414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.042848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.051949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.057451s] ... ok DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0d84894-fe3d-4690-b82e-fbb8b2ea04a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-64b2c231-0a17-4123-89c3-c70673b21a2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ff9b81f-4612-4ca2-a4e5-11a33ea2d176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.69 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"disable_ramdisk is not acceptable in this API version\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6ea4eb2-96a7-458f-b1a2-99e10289dc02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a41db18-192e-44b3-aa1f-06ae990b14c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b9e487b-974e-41a1-81bc-f05480620479 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c54a3890-a29c-4999-ad33-02c43c8e9950 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0850223e-7463-4533-975a-2c8a545b19b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efa2a121-fd88-49fc-bbc5-a5716ce6fdb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-e225687b-a3c1-48b8-bf08-379b89a0faf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': ' '} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a12cbb72-8a94-4674-9049-b5842b557df9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b65bb9a-65fd-4376-bbbf-7bc5e8c39abc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-508a5e42-4225-48bf-a26e-d8eacd485a8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8182137-cdd8-449c-b903-3b2750e8102b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79f8982e-90fe-4c43-a471-923bec77979e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7df55d7b-18be-4fb4-bc45-5bf396b7788a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"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.TestPut.test_provision_unrescue_in_disallowed_states [0.247090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.070903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.092119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.064775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.082212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.059119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.059884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.016583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.058613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.109277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.096784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.050475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.051659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.040570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.067299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.101685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.058419s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.041026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.041352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.090757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.045921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.094825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.162409s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.054904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.062329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.054794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.047791s] ... ok DEBUG util.py:445: POST: /v1/ports {'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': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-51e3d1ab-8419-4b0b-8038-7d1161961b77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:07.046732+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': 'f7e8f814-2af2-4c2e-9ab3-459830a7e14b', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df4e6fb1-c22b-4668-8894-1d6b722526fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node f7e8f814-2af2-4c2e-9ab3-459830a7e14b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf326b94-8a96-47d7-bec3-49aac4604acc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-dcb71cc4-7352-487c-863e-66b380defeb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:07.250011+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: POST: /v1/ports {'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': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1cdb8c37-c830-4a41-a2d7-78ed49b9071b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42bede79-495d-43f7-ae3b-7e9aa5795e62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/portgroups/blah DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14842c49-792c-46ee-9b72-8f0106e6282c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:07.672986+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:07.829527+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'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.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.109707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.088072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.187632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.094044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.044569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.084868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.054657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.114803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.046125s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.088242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.057819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.078140s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.465931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.092276s] ... ok DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': []} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Allow: DELETE, GET, PATCH, POST DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-eac2a3a2-55ad-4f28-9bf9-ce888dbf8fc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: GET: /v1/ports/?limit=3 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '7d3a585d-734a-410b-bb30-cf8f7ff9cf01', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/7d3a585d-734a-410b-bb30-cf8f7ff9cf01', 'rel': 'self'}, {'href': 'http://localhost/ports/7d3a585d-734a-410b-bb30-cf8f7ff9cf01', 'rel': 'bookmark'}]}, {'uuid': '847315dc-3f7b-448a-80b0-f0d86ae87390', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/847315dc-3f7b-448a-80b0-f0d86ae87390', 'rel': 'self'}, {'href': 'http://localhost/ports/847315dc-3f7b-448a-80b0-f0d86ae87390', 'rel': 'bookmark'}]}, {'uuid': '4901b74f-8fd8-4c6d-89c5-408c18384765', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/4901b74f-8fd8-4c6d-89c5-408c18384765', 'rel': 'self'}, {'href': 'http://localhost/ports/4901b74f-8fd8-4c6d-89c5-408c18384765', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=4901b74f-8fd8-4c6d-89c5-408c18384765'} DEBUG util.py:445: GET: /v1/ports?detail=True {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:07.257795+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} DEBUG util.py:445: GET: /v1/ports?detail=True&fields=name {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97028460-7a83-46db-9a43-938901824dbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?detail=False&fields=internal_info {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7a12f74-3eb5-4d53-864d-39d9bcd67715 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:07.744646+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=fooname {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:07.886050+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} DEBUG util.py:445: GET: /v1/ports?fields=uuid,extra {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '27e43806-3a44-461f-9626-5959701ce9b7', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/27e43806-3a44-461f-9626-5959701ce9b7', 'rel': 'self'}, {'href': 'http://localhost/ports/27e43806-3a44-461f-9626-5959701ce9b7', 'rel': 'bookmark'}]}, {'uuid': '82493d82-a7a6-402b-9a9c-10d266e77326', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/82493d82-a7a6-402b-9a9c-10d266e77326', 'rel': 'self'}, {'href': 'http://localhost/ports/82493d82-a7a6-402b-9a9c-10d266e77326', 'rel': 'bookmark'}]}, {'uuid': 'de15a921-7a49-41fd-a567-085e6f9754b0', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/de15a921-7a49-41fd-a567-085e6f9754b0', 'rel': 'self'}, {'href': 'http://localhost/ports/de15a921-7a49-41fd-a567-085e6f9754b0', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?fields=address&limit=2 {} DEBUG util.py:445: GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/25d87ed5-3799-48f0-9660-3d3ef0e71ce7', 'rel': 'self'}, {'href': 'http://localhost/ports/25d87ed5-3799-48f0-9660-3d3ef0e71ce7', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/2ba7a0ad-c263-4bcc-bb0f-78f866041607', 'rel': 'self'}, {'href': 'http://localhost/ports/2ba7a0ad-c263-4bcc-bb0f-78f866041607', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=2ba7a0ad-c263-4bcc-bb0f-78f866041607'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08a27a94-e919-4227-a368-ffe2d68aa244 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:08.255496+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:08.298682+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:08.298682+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af {} DEBUG util.py:445: GOT:{'uuid': 'dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'created_at': '2024-03-18T10:51:08.355745+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'rel': 'self'}, {'href': 'http://localhost/ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.069190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.056886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.076679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.107973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.040164s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.154808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.097232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.048238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.101860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.084521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.079457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.067477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.070291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.111924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.110504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.034637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.033947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.115366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.150068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.092099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.069492s] ... ok DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide', 'clean_steps': 'foo'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31211db8-6610-4386-a3a8-6a8c30bc504b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.4 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , for clean_steps: foo\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': '\nw7FJYV8ywqx+wqnCpwPCoXHDisO6HMO2w4nDsBBJccOvXsKUMsO9OcOPCQLCnMKoPSFLwp\nDDhj7Ck8KqwprDpcKWw6XChsOMw5lSEcKUZcO0PUJiWcK4wq0owr4ye8Ozw67ClzXDmsO7\nUxvCpjnCkFQgw73Ch8Kaw5HCicKlXMOvUnDDvg5uwoFkwqDCl8KAEWwCbUQvw7I5JcKUw7\nVbKl3Di8O4LMKuwrHChMOBw5plaVJKci04w7fCgcOgVhkwwoLCgilxwqTCpDNCGzdNw5N6\nwpgAw6jDn8ODLBBlMGcawrEZwr3DiVPDtMKTwpcxwrpBwrrDtcOEw5YTw7MMwqnCsMKqwp\nPCkMK1wpTDssKfwrDCscOsEEDDo8OAw5DCqsKKGBRqwqPDqx7Cg8KkDcOkwoIuwo/CgcK0\nZcKNf3N7wqIYQcKgQDnCq8KFw6DCvMOwWAHChMO3w5xWb8O3wq7Dn8K4eXgWw742woUqw5\n/DvcK+ScKcX8KzwprCuD3DgcOsC8Oqwp0CwqB8TsOIHsKVwozCv8O+w4LCmE9GCMORw63D\nicOQw4ZFasOzw4Uvw7NSw6Qbw77DkBgkwo4COcOzOWLClRNQXcOHwojCrsOdHMKIw6nDuM\nORHMKeXMO8fcK0By7CiMKwHSXCoEQgfQhWwpMdSsO8LgHCjh87DQc= '} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-c44f12e6-0dc2-4e38-8467-80209f324b6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': 'http://example.com'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-813161d5-d556-48e1-b4eb-55aeaa46e90b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2a722d7-69d8-4e60-a125-895d737fa93f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-fc2314b2-c345-4a3b-953c-be10f4b84618 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40501b33-b48f-42ad-aafb-96f0e5de94ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-264ec34e-343a-43f9-a9d5-43d50ceaf3d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': ''} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29ae8b67-f9f0-4712-84e6-7533f476a365 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-3678f5c2-cc21-48b0-aee3-d3efb705364f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': True} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-84533d67-1e50-424c-bbc1-46d63d5e3ba8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-2a7b442e-2be3-48fe-9034-9d4329537ca5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-31a96c5c-2db9-4035-b4a2-b3faa851f62b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-623514c2-9eb7-4789-af75-93157ec3afc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-311cdfb4-c9ff-4125-95c7-86c7fb8d8ac5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-ff8d067e-ae84-40d5-a800-2445a7af2e05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa909a88-35a5-43bb-945c-b0970530cf14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"too many traits\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/bad_trait {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ddda088-a923-4771-8622-2e8550391e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'bad_trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {}{1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.107194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.090923s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.089766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.061771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.142792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.072784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.075767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.088522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.083880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.052600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.140861s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.085825s] ... ok DEBUG util.py:445: GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} DEBUG util.py:445: GOT:{'portgroups': []} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbf74b03-3ff5-4ebb-a3a3-4a2596993e1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=uuid {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '74455946-ef1d-4251-bca4-afe524bc9fd3', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/74455946-ef1d-4251-bca4-afe524bc9fd3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/74455946-ef1d-4251-bca4-afe524bc9fd3', 'rel': 'bookmark'}]}, {'uuid': '7bf96555-a755-4920-994b-224576900ba4', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/7bf96555-a755-4920-994b-224576900ba4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7bf96555-a755-4920-994b-224576900ba4', 'rel': 'bookmark'}]}, {'uuid': 'a8d95998-8d9b-43eb-aed4-30974547acf0', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/a8d95998-8d9b-43eb-aed4-30974547acf0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a8d95998-8d9b-43eb-aed4-30974547acf0', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups?sort_key=mode {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d4afa6f-357e-48a0-a16a-cbacd91cfc91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74c07bb3-0e4a-4c89-9a59-f12e1fe92d05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b1df011-c42d-49cd-b1a9-e1cc342bc88a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5beff0f-16c9-4372-be85-bfb5827a9ec1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/portgroups/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} DEBUG util.py:445: PATCH: /v1/portgroups/pg.1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1788c4fe-23ca-496f-ad04-097ed61832dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:08.757871+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/pg.1.json [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b831a61-4b0c-4b86-b435-aa6345d5504c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:08.862164+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/pg.1 [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-400febd8-7db7-409d-be7e-eaa5504b6ab2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/internal_info', 'value': False, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-886e58d5-0cc0-4ab2-9f1a-ee2bdadb5c2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8422a258-1e26-4144-ad21-984f9edb8ba8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:09.100658+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.050683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.055438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.045376s] ... ok DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-428f279b-2420-4c9e-8a60-bf3d335bad5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b82dd88-a06e-4464-9645-e441d8d8ad5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 {} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Allow: DELETE, GET, PATCH, POST DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-326b2bf6-2105-4035-9165-1a876e2cc527 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: GET: /v1/ports?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fbbf30e-2bb8-4f96-b23a-3b4ea0eb1657 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d953d7f8-6584-4b1f-9816-85bcfc3a2e66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:08.329946+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:08.482725+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:08.482725+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'da7b4ac0-edb6-4c50-ab7a-48c2f334bf7a', 'created_at': '2024-03-18T10:51:08.566362+00:00', 'updated_at': None, 'address': '66:44:55:33:11:22', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/da7b4ac0-edb6-4c50-ab7a-48c2f334bf7a', 'rel': 'self'}, {'href': 'http://localhost/ports/da7b4ac0-edb6-4c50-ab7a-48c2f334bf7a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56573906-a090-4702-b30a-f5dc1bacde4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?sort_key=uuid {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '06783c6e-2595-4ea9-b02f-16d298ea6a83', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/06783c6e-2595-4ea9-b02f-16d298ea6a83', 'rel': 'self'}, {'href': 'http://localhost/ports/06783c6e-2595-4ea9-b02f-16d298ea6a83', 'rel': 'bookmark'}]}, {'uuid': '13a4b346-70f7-4fb8-9d28-d7cb2cd3e62e', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/13a4b346-70f7-4fb8-9d28-d7cb2cd3e62e', 'rel': 'self'}, {'href': 'http://localhost/ports/13a4b346-70f7-4fb8-9d28-d7cb2cd3e62e', 'rel': 'bookmark'}]}, {'uuid': '8a74b1b3-3461-49ab-8342-9ac73650b458', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/8a74b1b3-3461-49ab-8342-9ac73650b458', 'rel': 'self'}, {'href': 'http://localhost/ports/8a74b1b3-3461-49ab-8342-9ac73650b458', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c7f94ee-ee49-4dda-af51-ddcbcaf6346a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:08.862899+00:00", "updated_at": "2024-03-18T10:51:08.921914+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac746398-46f0-44a2-97ad-a66241e6a368 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.015788+00:00", "updated_at": "2024-03-18T10:51:09.081806+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd696d1d-09c0-4d4c-976f-edfcc7077525 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.116518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.073248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.101740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.045598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.127860s] ... ok DEBUG util.py:445: GET: /v1/ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af {} DEBUG util.py:445: GOT:{'uuid': 'dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'created_at': '2024-03-18T10:51:08.355745+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'rel': 'self'}, {'href': 'http://localhost/ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af {} DEBUG util.py:445: GOT:{'uuid': 'dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'created_at': '2024-03-18T10:51:08.355745+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'rel': 'self'}, {'href': 'http://localhost/ports/dd9611c4-896a-4bc6-ae2f-603caf4c47af', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'c2600cce-350f-4f42-be0e-83ec34a3a6d3', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/c2600cce-350f-4f42-be0e-83ec34a3a6d3', 'rel': 'self'}, {'href': 'http://localhost/ports/c2600cce-350f-4f42-be0e-83ec34a3a6d3', 'rel': 'bookmark'}]}, {'uuid': '35a871c4-e3d8-4e11-a369-cf5371218c08', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/35a871c4-e3d8-4e11-a369-cf5371218c08', 'rel': 'self'}, {'href': 'http://localhost/ports/35a871c4-e3d8-4e11-a369-cf5371218c08', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'b3ad6015-56c8-42c7-86d1-244da252cd08', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/b3ad6015-56c8-42c7-86d1-244da252cd08', 'rel': 'self'}, {'href': 'http://localhost/ports/b3ad6015-56c8-42c7-86d1-244da252cd08', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?address=invalid-mac-format {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7efc9fd6-df61-4de9-8479-04348f7b7312 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/123 123/ports {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 123 123\"}"} DEBUG util.py:445: GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/ports?sort_key=pxe_enabled {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'a6d27a94-7917-4592-b0b3-ad16eac4ca14', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/a6d27a94-7917-4592-b0b3-ad16eac4ca14', 'rel': 'self'}, {'href': 'http://localhost/ports/a6d27a94-7917-4592-b0b3-ad16eac4ca14', 'rel': 'bookmark'}]}, {'uuid': '5c6cd731-e36c-4d76-843e-7976a503e7a1', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/5c6cd731-e36c-4d76-843e-7976a503e7a1', 'rel': 'self'}, {'href': 'http://localhost/ports/5c6cd731-e36c-4d76-843e-7976a503e7a1', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?sort_key=pxe_enabled {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37b76810-7d51-46fb-b8f5-f4c13f67088a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.18 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-666ae849-749e-41b8-9387-68b85ff9ecf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:08.910919+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'f1995bd1-b674-4a53-950b-8a77178c8dce', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b7eeec2-3ce2-4ae8-9448-a748b10ae8e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:08.976256+00:00", "updated_at": "2024-03-18T10:51:09.017125+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "f1995bd1-b674-4a53-950b-8a77178c8dce"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fd0f414-5b2f-42e1-9015-711f67200e77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 1234, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-806bde4d-2051-4c70-bd2d-406acaab8bab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/2956d79f-58bb-48c0-b237-b90ece0848d7 [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acdfabfb-7e6b-4960-a5fe-4cf4c9d803f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-204df554-4bad-4a0d-a5aa-7f74c5855610 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4145c917-10c0-42e0-8d2b-d2e50c1105f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"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_port.TestPatch.test_remove_non_existent_property_fail [0.051362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.052249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.388327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.041068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.102008s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.080180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.132171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.042580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.049004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.090576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.049871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.057868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.092246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.051780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.028895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.096669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.032679s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.037785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.038089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.060330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.068652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.050725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.176660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.031618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.061700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.043297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.102590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.064386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.034863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.017031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.116085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.046991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.016671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.016272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.099092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.021367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.017279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.072502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.087177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.062766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.055789s] ... ok DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': '', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cfc334d-b210-4d0a-8b4c-1c1f8daf1388 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea7c20f2-b18a-4068-8108-a4918d81838d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-231f2492-cff8-445c-a2f4-18ac93bd0ed2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'address' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16222e02-817f-468e-9fe8-d4f78e2d2c2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.504437+00:00", "updated_at": "2024-03-18T10:51:09.520778+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d149da13-a765-446c-809d-1bd90e93c1ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.552897+00:00", "updated_at": "2024-03-18T10:51:09.573846+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3ce9675-d9e6-4465-b1b2-710ae63e6baa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2de03bc7-bf07-4057-8d05-3e8f8126915b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'e03994f1-fce5-4bcc-b569-b30e6b6efe08', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-597238e2-7196-4022-ae87-ea4b88bdb910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.683041+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': False, 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60249def-f24f-4e5a-bf37-a872a0d6d452 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a08ee268-ce0d-44af-8d3c-b8a689cc220e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.761854+00:00", "updated_at": "2024-03-18T10:51:09.776312+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db9eafaf-c168-42c0-80eb-dbe0c044e244 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-97b748d7-94f1-49bd-9cd5-f4c6ff121632 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.941271+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.053736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.033979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.038883s] ... ok DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65e48a44-5ddd-44b1-bc38-a5f16ef046ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits/CUSTOM_12 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1271131b-70e2-48ab-afb4-328d4cf6dd9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7ccff28-a1af-47d6-b7d5-b4caa3ba4b20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.36 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/CUSTOM_3 {'traits': ['CUSTOM_3']} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c76fc959-99ee-4458-9f4f-a70250b47fb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'BAD_TRAIT']} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a027e87d-4ea0-47cd-9d55-f9eba9752cfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'BAD_TRAIT' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bbfedde-88fd-45b5-980b-d00c3bb7df2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59d07191-6b17-47c8-add5-9c18869f5b9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-09b36602-93e3-4cbe-865a-0872869a19be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-adb1937c-523f-4156-8307-375296a8f228 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?fields=address,uuid {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '42d11ba8-8035-4675-8507-f5dd2b768f2c', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/42d11ba8-8035-4675-8507-f5dd2b768f2c', 'rel': 'self'}, {'href': 'http://localhost/ports/42d11ba8-8035-4675-8507-f5dd2b768f2c', 'rel': 'bookmark'}]}, {'uuid': '75966786-9afb-4f26-a90a-0592071ab11f', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/75966786-9afb-4f26-a90a-0592071ab11f', 'rel': 'self'}, {'href': 'http://localhost/ports/75966786-9afb-4f26-a90a-0592071ab11f', 'rel': 'bookmark'}]}, {'uuid': 'bd236e35-ab73-4530-999b-d8b262a93adb', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/bd236e35-ab73-4530-999b-d8b262a93adb', 'rel': 'self'}, {'href': 'http://localhost/ports/bd236e35-ab73-4530-999b-d8b262a93adb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=bd236e35-ab73-4530-999b-d8b262a93adb'} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '004b7df5-cf36-4d74-a18a-b8cd657e4c04', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/004b7df5-cf36-4d74-a18a-b8cd657e4c04', 'rel': 'self'}, {'href': 'http://localhost/ports/004b7df5-cf36-4d74-a18a-b8cd657e4c04', 'rel': 'bookmark'}]}, {'uuid': 'b09255b0-1e72-4984-8863-6daa0caddbfe', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/b09255b0-1e72-4984-8863-6daa0caddbfe', 'rel': 'self'}, {'href': 'http://localhost/ports/b09255b0-1e72-4984-8863-6daa0caddbfe', 'rel': 'bookmark'}]}, {'uuid': '762e3556-0fcc-4a56-a323-b1d39a252543', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/762e3556-0fcc-4a56-a323-b1d39a252543', 'rel': 'self'}, {'href': 'http://localhost/ports/762e3556-0fcc-4a56-a323-b1d39a252543', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=762e3556-0fcc-4a56-a323-b1d39a252543'} DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:09.895442+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83220237-a7e6-4a52-bcc4-ee4986d70ece DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/detail?node=test-node {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2ae17ad-414a-4e0e-a03f-65c731813863 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.158240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.037329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.067804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.054370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.041385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.051461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.106454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.042428s] ... ok DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-ec6f6ade-36c2-434c-bf12-4740c3789f25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:09.245423+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:09.245423+00:00', 'updated_at': None, 'address': 'aa:bb:cc:dd:ee:ff', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-cab33509-f847-48c5-9e76-ee0d48a4cb6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:09.322054+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd864d91-d04f-4ec9-b342-f39f4b5c1d4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'invalid-format', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90f37a8c-bcf3-49b3-9a56-9de14f4163d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-f91369e5-2222-412c-b115-d6f0a14b3478 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:09.672942+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:09.672942+00:00', 'updated_at': None, 'address': None, 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'invalid_state', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-849c6e8a-a35e-4a58-86cc-cb7fdf41170e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url2'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f8fd1d6-3822-4988-8547-81cda19d66d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-1f157dfb-80dd-4c62-9ddc-8a05c13aef6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.171124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.049243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.129325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.031619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.066997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.038533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.036705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.039843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.037344s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.045074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.051637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.048845s] ... ok DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-168a8681-24cf-443f-a012-3d52f83b4a26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83f8c78d-f272-4916-80bb-4dc9fea2c5b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d94b129-9644-46c2-82ae-3f93ba8f1b1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4dbde33e-147d-48b8-aa27-0f3f56d9459a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.567150+00:00", "updated_at": "2024-03-18T10:51:09.609135+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be673290-4566-414a-a911-86105ee77871 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.660594+00:00", "updated_at": "2024-03-18T10:51:09.677714+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '22a129a1-7839-4a00-b461-0109a38ee6fe', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd6625e0-81f4-4957-9f1c-60148f7c6db9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:09.724249+00:00", "updated_at": "2024-03-18T10:51:09.779871+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "22a129a1-7839-4a00-b461-0109a38ee6fe"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'af6f3564-9fd1-4665-a653-31eddeca0fa9', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-293ce117-2518-43f0-9324-3a12e55e6763 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6943433-9415-43c0-8cfa-74bb62328cd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4d89442-2e83-4e87-9bb4-d4bee8d78750 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.015491+00:00", "updated_at": "2024-03-18T10:51:10.053330+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/50989d5a-1b01-4157-a292-52e02debc313 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d441b146-2b7f-4135-bce3-8cd0568f81b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 50989d5a-1b01-4157-a292-52e02debc313 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-8405aafa-591b-4d58-93a4-0860767e74a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}{3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.107893s] ... ok DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:09.941271+00:00', 'updated_at': None, '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': None, 'pxe_enabled': 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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'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', 'switch_info': 'fooswitch'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-765ab061-5581-4854-aa0b-ef397fe73b44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-8c2d63eb-2e06-4ac2-943c-5eb77e5e5728 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.026784+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-8b4a365d-f10b-4220-a665-0e551ae57f7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.066048+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4c18f95-37f7-4df7-98fb-c8268cc97709 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-086aa078-398c-4f0e-b3e4-3fcb8b926e50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa5a4108-d380-4ce4-abc9-e8216f8fc6db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-6cecce09-128a-48aa-8d98-c9c681e79197 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.223979+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d201be95-6f90-488d-9ce2-277c96529690 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Smart NIC port must have port_id and hostname in local_link_connection\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.036824s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.035369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.039497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.107754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.191958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.057517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.044667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.051500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.147091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.069666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.049625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.070920s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.047664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.060515s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.066492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.123405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.095022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.082785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.065937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.049500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.130067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.056973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.060645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.073120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.044296s] ... ok DEBUG util.py:445: GET: /v1/ports/detail?sort_key=pxe_enabled {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '909d568c-5f62-4e66-ad1f-02e71635a87d', 'created_at': '2024-03-18T10:51:10.058868+00:00', 'updated_at': None, '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': None, 'pxe_enabled': False, 'links': [{'href': 'http://localhost/v1/ports/909d568c-5f62-4e66-ad1f-02e71635a87d', 'rel': 'self'}, {'href': 'http://localhost/ports/909d568c-5f62-4e66-ad1f-02e71635a87d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}, {'uuid': 'e1a78b8d-e4bd-4787-bc24-d844d44f522d', 'created_at': '2024-03-18T10:51:10.060067+00:00', 'updated_at': None, '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': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/e1a78b8d-e4bd-4787-bc24-d844d44f522d', 'rel': 'self'}, {'href': 'http://localhost/ports/e1a78b8d-e4bd-4787-bc24-d844d44f522d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:10.123141+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:10.163139+00:00', 'updated_at': None, '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, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ebb97fe-e479-4993-bf05-59df16d52d99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3249462b-287a-4ff4-ac95-1c08b612f729 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:10.323580+00:00', 'updated_at': None, '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': None, 'pxe_enabled': 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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:10.323580+00:00', 'updated_at': None, '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': None, 'pxe_enabled': 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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22e111a5-2d8a-46ad-aab6-fb6094632694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:10.444248+00:00', 'updated_at': None, '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': None, 'pxe_enabled': 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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} DEBUG util.py:445: GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f80252f0-3ab4-41ca-a2d8-b6d2c5b4bb25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8ed17ba-ca3f-4133-8666-b61593762328 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.689054+00:00", "updated_at": "2024-03-18T10:51:10.723124+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8918bd6-6bc4-4ac8-8626-1242f085ae7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.093421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.090895s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.114244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.042368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.044876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.081543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.056437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.026395s] ... ok DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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': None, 'pxe_enabled': 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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/ce251607-ace6-47dc-8232-d4d2cbabd600 DEBUG util.py:445: Openstack-Request-Id: req-a692e86b-a435-4db0-9dad-31c33d708d82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ce251607-ace6-47dc-8232-d4d2cbabd600", "created_at": "2024-03-18T10:51:10.485569+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, "links": [{"href": "http://localhost/v1/ports/ce251607-ace6-47dc-8232-d4d2cbabd600", "rel": "self"}, {"href": "http://localhost/ports/ce251607-ace6-47dc-8232-d4d2cbabd600", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET: /v1/ports/ce251607-ace6-47dc-8232-d4d2cbabd600 {} DEBUG util.py:445: GOT:{'uuid': 'ce251607-ace6-47dc-8232-d4d2cbabd600', 'created_at': '2024-03-18T10:51:10.485569+00:00', 'updated_at': None, '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': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/ce251607-ace6-47dc-8232-d4d2cbabd600', 'rel': 'self'}, {'href': 'http://localhost/ports/ce251607-ace6-47dc-8232-d4d2cbabd600', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c157c19c-05d5-4547-9ee4-e992ae4e188f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': '', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-822d103f-626e-4d32-9ae4-fc661272e4d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcfdea9c-d31b-4eda-98ca-e913f7ad57f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a9f27e2-d1de-4214-9df1-7aa086e197f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22b780ff-ece8-49d3-9b36-40daf1da88d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-445fa73a-3a17-4ea1-9ff6-a39efd6bc37f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.917230+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}{3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.045058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.043209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.023622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.034193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.039303s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.155543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.021363s] ... ok DEBUG util.py:445: POST: /v1/ports {'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': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63cf4970-4685-4089-ab27-48601c991002 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-7f73f8ce-4e26-444c-9fe3-415be288ddde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.336538+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'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': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-0da5f933-4d63-43c4-903e-af72c5b56de2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.443784+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'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': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7246a2f-fd9c-4b99-87f9-10c8cb7a4cdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08d5c91b-9d9a-4fb8-bd8c-ad0d59674b67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/portgroups/52:54:00:cf:2d:31 DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} DEBUG util.py:445: GET: /v1/portgroups?fields=address,uuid {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'eb961401-b8c3-4383-af73-8e09bdd41331', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/eb961401-b8c3-4383-af73-8e09bdd41331', 'rel': 'self'}, {'href': 'http://localhost/portgroups/eb961401-b8c3-4383-af73-8e09bdd41331', 'rel': 'bookmark'}]}, {'uuid': 'a198e197-bc25-4015-8f3c-b111db300e5c', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/a198e197-bc25-4015-8f3c-b111db300e5c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a198e197-bc25-4015-8f3c-b111db300e5c', 'rel': 'bookmark'}]}, {'uuid': '6cfc2254-704c-4f00-94c2-eaaf0ee8db94', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/6cfc2254-704c-4f00-94c2-eaaf0ee8db94', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6cfc2254-704c-4f00-94c2-eaaf0ee8db94', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=6cfc2254-704c-4f00-94c2-eaaf0ee8db94'} DEBUG util.py:445: GET: /v1/portgroups/detail?node=test-node {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:10.783921+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} DEBUG util.py:445: GET: /v1/portgroups?detail=True {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:10.900605+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:{'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_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.132359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.048859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.074883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.038564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.040052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.034177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.038630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.021457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.016146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.140724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.030899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.084568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.021193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.019345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.072689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.020970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.038498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.016302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.015079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.101674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.082982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.015541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.040939s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.017767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.017865s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.037271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.056967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.016098s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.021842s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.018515s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.048652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.017292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.017890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.152058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.098093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.018827s] ... ok DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-96f4103d-e661-4e6e-b6d1-721e186d6f6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:10.961837+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-64fa230e-233f-434a-b8fa-9e1ccde285d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:11.004885+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a32c5dcb-8913-4da9-8055-722c94661aac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'internal_info': {'a': 'b'}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c882e4e-7710-4f09-9d40-fba9d82162cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-260749bf-f920-4606-81e3-8c8b701a5f10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.52 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-a7664c9f-b161-4404-9292-d3895ac67535 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:11.224026+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f7f39901-4a6c-4989-8d2a-93a64059df7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/portgroups/pg.1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-339144a7-d92c-4a5a-9115-649ffd0ba5e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/portgroups/pg.1.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-535dc4aa-77a3-473f-9096-cb29c197f52f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-201d5c0a-bebe-4235-8f75-f71aaab19755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/?limit=3 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'a830c1a0-ff84-4b0d-83ee-1af48db7923e', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/a830c1a0-ff84-4b0d-83ee-1af48db7923e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a830c1a0-ff84-4b0d-83ee-1af48db7923e', 'rel': 'bookmark'}]}, {'uuid': 'e3bb4644-8490-4032-aa23-e34a6e450003', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/e3bb4644-8490-4032-aa23-e34a6e450003', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e3bb4644-8490-4032-aa23-e34a6e450003', 'rel': 'bookmark'}]}, {'uuid': '227c5aec-3312-4f3f-824a-63d3abe7d662', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/227c5aec-3312-4f3f-824a-63d3abe7d662', 'rel': 'self'}, {'href': 'http://localhost/portgroups/227c5aec-3312-4f3f-824a-63d3abe7d662', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=227c5aec-3312-4f3f-824a-63d3abe7d662'}{3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.055557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.051592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.054461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.137687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.130635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.038364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.184863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.019945s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.082327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.094167s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.022203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.067418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.018243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.016998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.017783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.021679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.062674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.026060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.025856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.084383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.036497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.035197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.028524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.024949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.015340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.017713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.199396s] ... ok DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f714efd3-2d57-4665-9c70-cdf76816dbb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db56728d-6729-46d5-a662-c7cf99f4cbef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:11.038585+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b63ef808-5dfe-4c59-b263-9b2c718458d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': 1234, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0dd30786-ce00-411e-b9f3-6b0c7c25824c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'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': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-81fd986e-f98c-49cd-ae13-fae20878488d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:11.359792+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-b63c82ce-574a-46c7-86f9-8a7d59b0d731 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:11.457495+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-437bf4fd-ed16-4c6b-bd2b-e018f2a7577b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70f3c055-ec1a-46c4-a9fb-daa95bd0aa47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: Additional properties are not allowed ('switch_foo' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-7693ad61-709d-4335-bc26-12993488ab3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:11.756891+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.089274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.098207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.030706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.079843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.051542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.069065s] ... ok DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'ff4a6bc5-da1d-4b15-b9cd-8638be83d543', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/ff4a6bc5-da1d-4b15-b9cd-8638be83d543', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ff4a6bc5-da1d-4b15-b9cd-8638be83d543', 'rel': 'bookmark'}]}, {'uuid': 'cc68bc53-12a1-4c00-a8ff-9537f3171e13', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/cc68bc53-12a1-4c00-a8ff-9537f3171e13', 'rel': 'self'}, {'href': 'http://localhost/portgroups/cc68bc53-12a1-4c00-a8ff-9537f3171e13', 'rel': 'bookmark'}]}, {'uuid': '00e4d4b9-4809-4af1-94a5-268e1ac0f76e', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/00e4d4b9-4809-4af1-94a5-268e1ac0f76e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/00e4d4b9-4809-4af1-94a5-268e1ac0f76e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=00e4d4b9-4809-4af1-94a5-268e1ac0f76e'} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/portgroups?detail=False {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': []} DEBUG util.py:445: GET: /v1/portgroups?node=test-node {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'c620bb2e-68e5-4875-a00f-9d05b891b9a0', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/c620bb2e-68e5-4875-a00f-9d05b891b9a0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c620bb2e-68e5-4875-a00f-9d05b891b9a0', 'rel': 'bookmark'}]}, {'uuid': '500c351f-7ecc-43b5-9ff4-887c13aa1f95', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/500c351f-7ecc-43b5-9ff4-887c13aa1f95', 'rel': 'self'}, {'href': 'http://localhost/portgroups/500c351f-7ecc-43b5-9ff4-887c13aa1f95', 'rel': 'bookmark'}]}, {'uuid': 'cf4cdaf4-71d5-4796-b6c2-f7ebb216240f', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/cf4cdaf4-71d5-4796-b6c2-f7ebb216240f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/cf4cdaf4-71d5-4796-b6c2-f7ebb216240f', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:11.729160+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:11.808813+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:11.898054+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'pg.json', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: GET: /v1/portgroups?address=invalid-mac-format {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa79f2ed-3619-4a75-8b89-b9549eff62dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/38960751-3c7c-4805-8fcb-58b410ea9d55/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '0e035cbf-112d-4355-8092-ace39413d908', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/0e035cbf-112d-4355-8092-ace39413d908', 'rel': 'self'}, {'href': 'http://localhost/ports/0e035cbf-112d-4355-8092-ace39413d908', 'rel': 'bookmark'}]}, {'uuid': '890b7500-58c1-4c17-a67d-f2eebc478780', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/890b7500-58c1-4c17-a67d-f2eebc478780', 'rel': 'self'}, {'href': 'http://localhost/ports/890b7500-58c1-4c17-a67d-f2eebc478780', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/38960751-3c7c-4805-8fcb-58b410ea9d55/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '0e035cbf-112d-4355-8092-ace39413d908', 'created_at': '2024-03-18T10:51:11.968829+00:00', 'updated_at': None, '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': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/0e035cbf-112d-4355-8092-ace39413d908', 'rel': 'self'}, {'href': 'http://localhost/ports/0e035cbf-112d-4355-8092-ace39413d908', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '38960751-3c7c-4805-8fcb-58b410ea9d55'}, {'uuid': '890b7500-58c1-4c17-a67d-f2eebc478780', 'created_at': '2024-03-18T10:51:11.969879+00:00', 'updated_at': None, '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': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/890b7500-58c1-4c17-a67d-f2eebc478780', 'rel': 'self'}, {'href': 'http://localhost/ports/890b7500-58c1-4c17-a67d-f2eebc478780', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '38960751-3c7c-4805-8fcb-58b410ea9d55'}]}{3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.131084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.042327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.214452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.195010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.059700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.052697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.055639s] ... ok DEBUG util.py:445: POST: /v1/heartbeat/bc1b22cb-b8cf-4bbf-bde4-2ba7206de38a {'callback_url': 'url'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9bf734e-71ff-4ccd-a6c9-9a7f27c88499 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'invalid_state', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1df02c2-36f7-48fd-820e-dd1d84366856 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url2'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88fc39d2-3ace-4026-8ff6-a2f92999188f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1', 'agent_token': 'meow'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-6897a44f-e562-4895-b7f8-c2cf0366fc85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2dfb991c-d09d-4fc5-98af-475cf986c6d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.71 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=054fa3e4-c0f9-4edd-8c27-6f82161033e8 {} DEBUG util.py:445: GOT:{'node': {'uuid': '054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'rel': 'self'}, {'href': 'http://localhost/nodes/054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=054fa3e4-c0f9-4edd-8c27-6f82161033e8 {} DEBUG util.py:445: GOT:{'node': {'uuid': '054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'rel': 'self'}, {'href': 'http://localhost/nodes/054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '******', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=054fa3e4-c0f9-4edd-8c27-6f82161033e8 {} DEBUG util.py:445: GOT:{'node': {'uuid': '054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'rel': 'self'}, {'href': 'http://localhost/nodes/054fa3e4-c0f9-4edd-8c27-6f82161033e8', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '******', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3b319db-8e9b-4948-a1b9-27b70f4ba2cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?node_uuid=d6bcc92c-71a3-4251-b21f-c014ab9f9a2b {} DEBUG util.py:445: GOT:{'node': {'uuid': 'd6bcc92c-71a3-4251-b21f-c014ab9f9a2b', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/d6bcc92c-71a3-4251-b21f-c014ab9f9a2b', 'rel': 'self'}, {'href': 'http://localhost/nodes/d6bcc92c-71a3-4251-b21f-c014ab9f9a2b', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b88c746b-5ed5-415e-9c80-b0d5ca220f1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a9a202b-ba72-4ead-abfa-d6678224916c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ddec9386-31e2-40f1-8349-a8bb25ae46f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors?detail=True&limit=3 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '8cbcc077-bef5-40fc-b4de-08935d0e0d40', 'created_at': '2024-03-18T10:51:12.057071+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-0', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/8cbcc077-bef5-40fc-b4de-08935d0e0d40', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8cbcc077-bef5-40fc-b4de-08935d0e0d40', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2318ef10-eee3-47e1-b859-ce41599616d6', 'created_at': '2024-03-18T10:51:12.058150+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-1', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2318ef10-eee3-47e1-b859-ce41599616d6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2318ef10-eee3-47e1-b859-ce41599616d6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'aa263fda-333d-4f22-8389-c5fda905f52b', 'created_at': '2024-03-18T10:51:12.059056+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-2', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/aa263fda-333d-4f22-8389-c5fda905f52b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/aa263fda-333d-4f22-8389-c5fda905f52b', '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=aa263fda-333d-4f22-8389-c5fda905f52b'}{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.057775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.032533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.071048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.062220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.084016s] ... ok DEBUG util.py:445: GET: /v1/portgroups?fields=uuid,extra {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '4ade6f9d-62f2-4ca9-82f1-520c015d0b7b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/4ade6f9d-62f2-4ca9-82f1-520c015d0b7b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4ade6f9d-62f2-4ca9-82f1-520c015d0b7b', 'rel': 'bookmark'}]}, {'uuid': '67e4db91-f2ed-4cd8-aa59-a02139fdc29f', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/67e4db91-f2ed-4cd8-aa59-a02139fdc29f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/67e4db91-f2ed-4cd8-aa59-a02139fdc29f', 'rel': 'bookmark'}]}, {'uuid': '95a821e8-2064-496f-99dd-d504cdde0b50', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/95a821e8-2064-496f-99dd-d504cdde0b50', 'rel': 'self'}, {'href': 'http://localhost/portgroups/95a821e8-2064-496f-99dd-d504cdde0b50', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups?fields=address&limit=2 {} DEBUG util.py:445: GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/18804054-b763-448b-bf82-b54e856c9ab5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/18804054-b763-448b-bf82-b54e856c9ab5', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/ac8a58e5-9c7c-4254-958f-1dcc40e98547', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ac8a58e5-9c7c-4254-958f-1dcc40e98547', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=ac8a58e5-9c7c-4254-958f-1dcc40e98547'} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'e3acf982-d708-4999-befd-9c5dc53545fc', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/e3acf982-d708-4999-befd-9c5dc53545fc', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e3acf982-d708-4999-befd-9c5dc53545fc', 'rel': 'bookmark'}]}, {'uuid': 'b158aad8-7869-49e4-be63-979202dcbe92', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/b158aad8-7869-49e4-be63-979202dcbe92', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b158aad8-7869-49e4-be63-979202dcbe92', 'rel': 'bookmark'}]}, {'uuid': 'a9a9e7bd-776b-4df2-8005-4204e3659c31', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/a9a9e7bd-776b-4df2-8005-4204e3659c31', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a9a9e7bd-776b-4df2-8005-4204e3659c31', 'rel': 'bookmark'}]}, {'uuid': '7b66ec5b-c0f7-456b-84c0-ea3928b732e4', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/7b66ec5b-c0f7-456b-84c0-ea3928b732e4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7b66ec5b-c0f7-456b-84c0-ea3928b732e4', 'rel': 'bookmark'}]}, {'uuid': 'cde7ef8a-f8b0-4392-a9e9-6445193b18d7', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/cde7ef8a-f8b0-4392-a9e9-6445193b18d7', 'rel': 'self'}, {'href': 'http://localhost/portgroups/cde7ef8a-f8b0-4392-a9e9-6445193b18d7', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'fbd53ad7-47af-4e74-9923-73429fcb443e', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/fbd53ad7-47af-4e74-9923-73429fcb443e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/fbd53ad7-47af-4e74-9923-73429fcb443e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f3c778b-a564-41ee-9e79-b1ec360b5a27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83faf3a9-20b1-4122-9cde-bdbb67784b79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=internal_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee6c59a2-7acd-423d-ab8d-4cd301ebbbd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=properties {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-694cc987-7d92-4407-9abc-e81c8bec2837 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3d4a721-aa2c-40df-9d28-4397a833a730 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:11.972601+00:00", "updated_at": "2024-03-18T10:51:11.975991+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-baac3e6b-83ff-4ced-8408-48ba25c92cf4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:11.972601+00:00", "updated_at": "2024-03-18T10:51:11.975991+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecfb941e-5f82-4c94-b557-7a5fd98121bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.106534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.132675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.040138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.080554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.103246s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.036772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.035401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.095200s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.057417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.059245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.131575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.127161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.065430s] ... ok DEBUG util.py:445: GET: /v1/portgroups/38960751-3c7c-4805-8fcb-58b410ea9d55/ports?limit=1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '0e035cbf-112d-4355-8092-ace39413d908', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/0e035cbf-112d-4355-8092-ace39413d908', 'rel': 'self'}, {'href': 'http://localhost/ports/0e035cbf-112d-4355-8092-ace39413d908', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=0e035cbf-112d-4355-8092-ace39413d908'} DEBUG util.py:445: GET: /v1/portgroups/38960751-3c7c-4805-8fcb-58b410ea9d55/ports/66c266ea-b681-4864-817a-7244e1a26138 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups/38960751-3c7c-4805-8fcb-58b410ea9d55/ports/047064b8-12ff-438f-b558-40a4bb1db327 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4bb1913-693f-45ff-a8df-4c0c9fb561e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/87a62126-4030-462b-a331-78a682a949a4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbbfa6f5-be7f-4912-adce-a57acdfc9cbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.153006+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18a5d869-8d3c-40ae-91ef-c609118f98ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd782e21-e24f-4158-b3d3-fd4859f31722 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.263103+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64e5489f-bd60-4470-9047-aaf33919ca83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.315098+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dc6607b-6134-4440-9763-44e25d1f68f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'mode' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-461a84e2-9a41-4878-9fc7-05a7ef09e4fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4b62b93-36e6-4e98-962a-e94465a2d61d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c269b4d-293d-4a9f-94c1-3fa3a5f46ab6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.493425+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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_portgroup.TestPatch.test_update_byid [0.071520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.067307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.044140s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.114624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.208252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.092614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.126875s] ... ok DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:11.756891+00:00', 'updated_at': None, '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'}}, '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': None, 'pxe_enabled': 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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'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': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-b324eca5-0c0d-4f3d-a68f-20e8845c6c05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:11.870327+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-ced11e63-051e-4ee0-8db4-6aa503a6eea7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:11.941954+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-8d5d8ce1-ece0-48ff-b117-f176bab2b7e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:12.065598+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35bd9817-ad5a-4fff-ad37-24d8493d97d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df7ffac1-a8fe-4597-bfec-bc4fa71bbeac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1c81e86-9a14-4bdf-9962-6b92b17f138f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/detail?sort_key=mode {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '0f88bd8e-ff3a-41da-aed7-0000066c5731', 'created_at': '2024-03-18T10:51:12.559497+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'mode_1', 'name': 'portgroup1', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/0f88bd8e-ff3a-41da-aed7-0000066c5731', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0f88bd8e-ff3a-41da-aed7-0000066c5731', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/0f88bd8e-ff3a-41da-aed7-0000066c5731/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0f88bd8e-ff3a-41da-aed7-0000066c5731/ports', 'rel': 'bookmark'}]}, {'uuid': '3f0f25b6-c82e-47b9-b901-aac947621b34', 'created_at': '2024-03-18T10:51:12.558477+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:32', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'mode_2', 'name': 'portgroup2', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/3f0f25b6-c82e-47b9-b901-aac947621b34', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3f0f25b6-c82e-47b9-b901-aac947621b34', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/3f0f25b6-c82e-47b9-b901-aac947621b34/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3f0f25b6-c82e-47b9-b901-aac947621b34/ports', 'rel': 'bookmark'}]}, {'uuid': 'f327f544-dca6-48aa-adb9-fd331257f1f6', 'created_at': '2024-03-18T10:51:12.557356+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:33', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'mode_3', 'name': 'portgroup3', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/f327f544-dca6-48aa-adb9-fd331257f1f6', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f327f544-dca6-48aa-adb9-fd331257f1f6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/f327f544-dca6-48aa-adb9-fd331257f1f6/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f327f544-dca6-48aa-adb9-fd331257f1f6/ports', 'rel': 'bookmark'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.169704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.103448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.045473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.069279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.111808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.210098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.070071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.046864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.074421s] ... ok DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60929e1e-fc54-4ecd-9390-7b9b1d21a728 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0359529-3459-4e7e-a4c6-fc716a19f1e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.374341+00:00", "updated_at": "2024-03-18T10:51:12.377716+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad863c46-1133-4b8e-8ff0-5587a019b770 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.443309+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af2e5eb6-a056-482f-8dab-8b3deb9f6b59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.502318+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'add', 'value': '802.3ad'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-643c151e-e9fd-416b-bc29-a408b2c5efaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/properties/abc', 'op': 'add', 'value': 123}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6266eaad-8516-4796-9d36-0027b3663490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a087f04c-d40b-4800-82d2-8af96ce568a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.716679+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'internal_info': 'info'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-640f3aed-286c-4b2d-97e0-31675fe79969 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'properties': {'bond_prop': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-2f44c8b3-6fbf-45fa-abf6-c3a634b60707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.842916+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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_portgroup.TestPost.test_create_portgroup_mode_properties [0.069953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.077831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.086753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.153299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.120192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.074053s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.069766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.133526s] ... ok DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6edbcdf0-25a3-479e-a072-e3a52c57fee5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.626539+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abacdb00-1631-409a-a816-22f1b13f1d6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.39 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/portgroups/0c49a9a6-fad8-4cc3-b8ce-8e9b58ebf90c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc559093-f96f-4317-afb0-22235535d7be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 0c49a9a6-fad8-4cc3-b8ce-8e9b58ebf90c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34afbde3-962e-4ba9-856b-d4c5bfc7a265 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:12.875799+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: POST: /v1/portgroups {'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/34473385-b3b8-4179-bcce-32142d617c2d DEBUG util.py:445: Openstack-Request-Id: req-607a40ca-0106-4596-a155-0963c93632f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "34473385-b3b8-4179-bcce-32142d617c2d", "created_at": "2024-03-18T10:51:12.966548+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, "links": [{"href": "http://localhost/v1/portgroups/34473385-b3b8-4179-bcce-32142d617c2d", "rel": "self"}, {"href": "http://localhost/portgroups/34473385-b3b8-4179-bcce-32142d617c2d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/34473385-b3b8-4179-bcce-32142d617c2d/ports", "rel": "self"}, {"href": "http://localhost/portgroups/34473385-b3b8-4179-bcce-32142d617c2d/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/34473385-b3b8-4179-bcce-32142d617c2d {} DEBUG util.py:445: GOT:{'uuid': '34473385-b3b8-4179-bcce-32142d617c2d', 'created_at': '2024-03-18T10:51:12.966548+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/34473385-b3b8-4179-bcce-32142d617c2d', 'rel': 'self'}, {'href': 'http://localhost/portgroups/34473385-b3b8-4179-bcce-32142d617c2d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/34473385-b3b8-4179-bcce-32142d617c2d/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/34473385-b3b8-4179-bcce-32142d617c2d/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-a7dbf6c5-3ed4-435c-93c1-19e7a55ca8d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.23 DEBUG util.py:445: {"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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-33ec417d-53ad-49a1-bb18-a700509c700c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:13.125623+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.066587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.046394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.209998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.049302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.093762s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.057563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.069265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.178137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.119792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.058011s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.061241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.047199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.098569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.077093s] ... ok DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e246434-4f16-4e49-82fc-242e51ea7021 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors?fields=connector_id&limit=2 {} DEBUG util.py:445: GOT:{'connectors': [{'connector_id': 'test-connector_id-0', 'links': [{'href': 'http://localhost/v1/volume/connectors/9373ca09-4ce4-4b57-8ef4-79a223b8439d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/9373ca09-4ce4-4b57-8ef4-79a223b8439d', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/b2fd8cec-2548-4b9a-b32d-7c785e766c53', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b2fd8cec-2548-4b9a-b32d-7c785e766c53', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=b2fd8cec-2548-4b9a-b32d-7c785e766c53'} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b5d4717-9e98-473c-a11c-0c5a49b1f10f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:12.407199+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"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a20898a6-4def-4c94-8f9c-b66c4da6ede6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-745aad7d-4b15-4dcc-8abb-de53b53c4e04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:12.744957+00:00", "updated_at": "2024-03-18T10:51:12.747967+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"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26b0666e-3d98-41e3-952c-06c9ae28f5bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:12.744957+00:00", "updated_at": "2024-03-18T10:51:12.747967+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"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2befd87-bafc-441a-b90e-a1a5ccd02985 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be9e59c3-0401-4bc4-a694-b233bb425111 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-778d2063-4f41-4b41-9b76-7ad2d696744f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32bd06aa-b44c-433c-9f32-85e9e60c9c05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:13.276441+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"} DEBUG util.py:445: POST: /v1/volume/connectors {'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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-62889caf-62f7-499c-8265-8e32a48549a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:13.435739+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"}{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.056516s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.163432s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.117921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.062898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.073354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.129900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.145041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.069130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.061378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.043017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.343341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.075807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.185025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.128429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.068747s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.198133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.037173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.118389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.056050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.104632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.109651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.115112s] ... ok DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00c461d2-9f52-4ac5-8d18-93a7760c0f4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', '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, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-80ef1db6-8137-4c8d-bc15-d17cc807465f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:13.109144+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:13.109144+00:00', 'updated_at': None, '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'}}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbc6a9f9-1c17-4ff7-b276-7d995bfde186 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/a3927dff-b723-46c5-8bbb-35150689bb28 {'callback_url': 'url'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01457dbe-8e8a-42da-9853-0f42f9685c99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node a3927dff-b723-46c5-8bbb-35150689bb28 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-0fa9a9f8-00d0-4a2b-8421-ea68890df5d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-f13f7a98-e771-4516-9e8a-52c2fa83dca1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55cfbc9e-5669-450c-8be0-daac9b2790a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.35 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-5aade93e-db29-46be-9f88-8c82bfe7b975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-00f82e07-0e81-4221-8c9c-5ae84bafbdc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-f8f0c96b-7177-4291-9316-690ede851102 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be295684-63f2-418d-a061-57ccc846ef07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.35 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} DEBUG util.py:445: 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 {} DEBUG util.py:445: GOT:{'node': {'uuid': '4ffa5cae-acb2-4903-8af2-6dbd4bc5d116', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/4ffa5cae-acb2-4903-8af2-6dbd4bc5d116', 'rel': 'self'}, {'href': 'http://localhost/nodes/4ffa5cae-acb2-4903-8af2-6dbd4bc5d116', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '123456', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=28a21d2b-849d-4100-8cec-3f9e3fa6f4fb {} DEBUG util.py:445: GOT:{'node': {'uuid': '28a21d2b-849d-4100-8cec-3f9e3fa6f4fb', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/28a21d2b-849d-4100-8cec-3f9e3fa6f4fb', 'rel': 'self'}, {'href': 'http://localhost/nodes/28a21d2b-849d-4100-8cec-3f9e3fa6f4fb', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True}}{0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.107269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.148149s] ... ok DEBUG util.py:445: POST: /v1/heartbeat/2b2f2d6a-a52b-49b9-af4a-f5c09830e85b {'callback_url': 'url'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd2e2dcc-1afd-422f-ba07-33773b98c686 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 2b2f2d6a-a52b-49b9-af4a-f5c09830e85b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-450e1748-41ee-424d-8743-d06f9625090a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-f3e6fd6d-b743-4198-963f-2c95763e1434 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-8a809aad-c7aa-4508-9ffe-c655c827cbb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/62f5de02-c893-4e6d-a9b0-860c75a4de96 {'callback_url': 'url'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-435b9428-ea72-4af0-9a5f-af1e3b96cb10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:{'node': {'uuid': '9e9df1d0-fbc9-4894-a3ba-6deefe409dbe', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/9e9df1d0-fbc9-4894-a3ba-6deefe409dbe', 'rel': 'self'}, {'href': 'http://localhost/nodes/9e9df1d0-fbc9-4894-a3ba-6deefe409dbe', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?node_uuid=49f0c6f6-d088-4f2b-afbf-8c70ba4baeb1 {} DEBUG util.py:445: GOT:{'node': {'uuid': '49f0c6f6-d088-4f2b-afbf-8c70ba4baeb1', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/49f0c6f6-d088-4f2b-afbf-8c70ba4baeb1', 'rel': 'self'}, {'href': 'http://localhost/nodes/49f0c6f6-d088-4f2b-afbf-8c70ba4baeb1', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=05afdab4-0389-45f3-9acb-ccf5e39c8447 {} DEBUG util.py:445: GOT:{'node': {'uuid': '05afdab4-0389-45f3-9acb-ccf5e39c8447', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/05afdab4-0389-45f3-9acb-ccf5e39c8447', 'rel': 'self'}, {'href': 'http://localhost/nodes/05afdab4-0389-45f3-9acb-ccf5e39c8447', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=d79c903d-0730-4728-9d93-cd37dafa92c8 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45c2e221-5a36-4573-9c79-444dfe8e056e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=84512589-0085-448d-ba41-cb95ca7d715a {} DEBUG util.py:445: GOT:{'node': {'uuid': '84512589-0085-448d-ba41-cb95ca7d715a', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/84512589-0085-448d-ba41-cb95ca7d715a', 'rel': 'self'}, {'href': 'http://localhost/nodes/84512589-0085-448d-ba41-cb95ca7d715a', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=84512589-0085-448d-ba41-cb95ca7d715a {} DEBUG util.py:445: GOT:{'node': {'uuid': '84512589-0085-448d-ba41-cb95ca7d715a', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/84512589-0085-448d-ba41-cb95ca7d715a', 'rel': 'self'}, {'href': 'http://localhost/nodes/84512589-0085-448d-ba41-cb95ca7d715a', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=84512589-0085-448d-ba41-cb95ca7d715a {} DEBUG util.py:445: GOT:{'node': {'uuid': '84512589-0085-448d-ba41-cb95ca7d715a', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/84512589-0085-448d-ba41-cb95ca7d715a', 'rel': 'self'}, {'href': 'http://localhost/nodes/84512589-0085-448d-ba41-cb95ca7d715a', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97a12a8f-0f4a-4e44-9bae-2f67f6af6b74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.037929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.020979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.019561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.014471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.026983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.042429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.043778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.034427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.013652s] ... ok DEBUG util.py:445: GET: /v1/portgroups/detail?sort_key=mode {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d368cc0-33d0-4eca-a1e1-2230981e59dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?detail=True&fields=name {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2f17710-00b2-4e5d-a100-722b43b85f0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?detail=False&fields=internal_info {} DEBUG util.py:445: GOT:{'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'}]}]} DEBUG util.py:445: GET: /v1/portgroups?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e51ae8d-41d2-4056-af02-0c536eb415a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.42 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/?fields=address,properties {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ef3bab7-87f1-4b35-a2bc-86affc9562ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c7007a6-e6ae-4194-b328-d344aca73f83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-082a45b4-2372-48a0-8fd5-0fba7d1a1d81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:13.602780+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'pg.1', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: GET: /v1/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57 {} DEBUG util.py:445: GOT:{'uuid': 'a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'created_at': '2024-03-18T10:51:13.750162+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57 {} DEBUG util.py:445: GOT:{'uuid': 'a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'created_at': '2024-03-18T10:51:13.750162+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57 {} DEBUG util.py:445: GOT:{'uuid': 'a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'created_at': '2024-03-18T10:51:13.750162+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a2bd06d3-bddb-4f3f-bdb5-05e67207fb57/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b48eca7-7e04-4bb3-827f-bf87a7973476 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=mode {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '532ff93b-033a-4702-93b2-eb0f5cffa900', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/532ff93b-033a-4702-93b2-eb0f5cffa900', 'rel': 'self'}, {'href': 'http://localhost/portgroups/532ff93b-033a-4702-93b2-eb0f5cffa900', 'rel': 'bookmark'}]}, {'uuid': '3384207f-b86f-46ea-acc4-1eca65ad76ee', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/3384207f-b86f-46ea-acc4-1eca65ad76ee', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3384207f-b86f-46ea-acc4-1eca65ad76ee', 'rel': 'bookmark'}]}, {'uuid': '1a935cb4-e32b-4c3d-ad50-0bb58cc41bf8', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/1a935cb4-e32b-4c3d-ad50-0bb58cc41bf8', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1a935cb4-e32b-4c3d-ad50-0bb58cc41bf8', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad95d2f3-b338-4a2f-acf6-31c5d905043d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.138820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.048230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.093326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.089299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.093175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.228918s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.025914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.033223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.058883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.038386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.112533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.020583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.058714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.107538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.018467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.015657s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.106138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.059748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.021610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.049764s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.051198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.022292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.084318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.028926s] ... ok DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:13.435739+00:00', 'updated_at': None, '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'} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5db973ea-a8e0-4788-81a1-212f453f15a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-88a24123-d6c9-47b0-a2b1-045f990831be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:13.834605+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"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '2fedf3c0-3f6b-48a8-b0d2-efabe1443e75', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d05812a6-8ecb-4621-a34b-2dbb3bcef7a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-71cd659a-ec3d-4d60-807d-e1a51c49d333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:13.949680+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"} DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'ca8c000c-4882-44a4-a760-faa600f3529a', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/ca8c000c-4882-44a4-a760-faa600f3529a', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ca8c000c-4882-44a4-a760-faa600f3529a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '89a40780-f7e3-4b92-8f29-9f6563c875dc', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/89a40780-f7e3-4b92-8f29-9f6563c875dc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/89a40780-f7e3-4b92-8f29-9f6563c875dc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e0165ba1-2ae7-4e6f-b91b-8f4c93adf489', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/e0165ba1-2ae7-4e6f-b91b-8f4c93adf489', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e0165ba1-2ae7-4e6f-b91b-8f4c93adf489', '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=e0165ba1-2ae7-4e6f-b91b-8f4c93adf489'} DEBUG util.py:445: GET: /v1/volume/targets?detail=True&limit=3 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'd1b4f560-38b4-4699-bfb3-064141092dbc', 'created_at': '2024-03-18T10:51:14.418829+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/d1b4f560-38b4-4699-bfb3-064141092dbc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d1b4f560-38b4-4699-bfb3-064141092dbc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '904ab83e-b35d-4c36-b5d4-96c485269529', 'created_at': '2024-03-18T10:51:14.419902+00:00', 'updated_at': None, 'boot_index': 1, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/904ab83e-b35d-4c36-b5d4-96c485269529', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/904ab83e-b35d-4c36-b5d4-96c485269529', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '5cd19e63-9188-4743-bcab-e89e5a53e534', 'created_at': '2024-03-18T10:51:14.420889+00:00', 'updated_at': None, 'boot_index': 2, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/5cd19e63-9188-4743-bcab-e89e5a53e534', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/5cd19e63-9188-4743-bcab-e89e5a53e534', '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=5cd19e63-9188-4743-bcab-e89e5a53e534'} DEBUG util.py:445: GET: /v1/volume/targets?fields=uuid,extra {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '7620b145-4a80-4341-b6cb-ad78aeaff534', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/7620b145-4a80-4341-b6cb-ad78aeaff534', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7620b145-4a80-4341-b6cb-ad78aeaff534', 'rel': 'bookmark'}]}, {'uuid': '7d80298e-42ec-4820-8f5c-9006ae32d9d1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/7d80298e-42ec-4820-8f5c-9006ae32d9d1', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7d80298e-42ec-4820-8f5c-9006ae32d9d1', 'rel': 'bookmark'}]}, {'uuid': 'f4e58054-232b-4613-b384-d1ea64311f3d', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/f4e58054-232b-4613-b384-d1ea64311f3d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f4e58054-232b-4613-b384-d1ea64311f3d', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.056818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.042997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.055207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.076343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.033834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.035769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.014993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.064301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.066245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.025673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.018367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.052622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.039082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.029641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.051751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.036790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.035512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.054965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.056418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.020982s] ... ok DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abf02130-b26b-402f-b8c8-a7f259d6a807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:14.255306+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-d3d17e98-0bf0-416a-b194-2853f7add07d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-da7420b6-8e21-4e72-9a56-1fbb67dfa64d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:14.449191+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '7dac731b-2404-4417-9f61-8e0415ed5d24', 'name': 'e939dca3-b208-466b-a96e-f43a3de67e64', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de17917d-646b-4605-ad82-1aa4660f8038 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-d0e8d027-a16d-45b7-a0e9-6e24ba42961f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:14.558758+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:14.558758+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-666e5690-d971-4c2a-a33f-face6eae6f79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': 'invalid-format'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-234b3038-8a95-41b8-b709-2149259648f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.073722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.041586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.033357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.042987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.148609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.052652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.057603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.051454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.031126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.057416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.076348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.047632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.047537s] ... ok DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:14.539017+00:00', 'updated_at': None, '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'} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '7a361d04-1995-465b-937d-430d98cf3f8b', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7a361d04-1995-465b-937d-430d98cf3f8b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7a361d04-1995-465b-937d-430d98cf3f8b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '82f8ef98-2d31-4410-9eeb-c79af6fe412c', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/82f8ef98-2d31-4410-9eeb-c79af6fe412c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/82f8ef98-2d31-4410-9eeb-c79af6fe412c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0d5662ec-5ebe-4fc7-8a74-d19ae8c55ebd', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/0d5662ec-5ebe-4fc7-8a74-d19ae8c55ebd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0d5662ec-5ebe-4fc7-8a74-d19ae8c55ebd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a1a3157d-5cd2-4933-94e0-5309946fb340', 'boot_index': 3, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a1a3157d-5cd2-4933-94e0-5309946fb340', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a1a3157d-5cd2-4933-94e0-5309946fb340', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0ac847d1-a607-4f85-8163-84112b9e1a79', 'boot_index': 4, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/0ac847d1-a607-4f85-8163-84112b9e1a79', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0ac847d1-a607-4f85-8163-84112b9e1a79', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab20d856-6e9d-4598-9d23-f08ebacb2f73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 0, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20c8fe4d-4ddd-4d3c-ac55-7e877439c927 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bd47de5-9d2e-4e07-9e64-17be5a9df776 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f52bd85-c15c-4193-81a5-e6591c56e716 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:14.810693+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"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a380a5a-87b0-464f-ac97-47fd1226c79c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-fd0434de-bd7b-4615-a23d-ac96a258c6ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:14.909740+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"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:14.909740+00:00', 'updated_at': None, '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'} DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bc46711-ef10-4649-a13f-ef80fc511129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' 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.033382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00005_public_api [0.029673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00008_public_api_v1_json [0.031839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.113526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.032205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.032670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.028173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.038009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.073194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.054181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.025425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.031547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.091472s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00004_nodes_post_observer [0.083544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.025006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.031068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.091769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.041461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.019232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.058539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.071064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.074253s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.029753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.020550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.077927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.034771s] ... ok DEBUG util.py:445: API ACL Testing Path get / DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1c44b79-cf47-4995-9270-f743ed04cec6 DEBUG util.py:445: {"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.78"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1c44b79-cf47-4995-9270-f743ed04cec6 DEBUG util.py:445: {"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.78"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}]} DEBUG util.py:445: API ACL Testing Path get /v1.json DEBUG util.py:445: GET: /v1.json {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1528ddda-42c1-4851-9878-c8899d118060 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.78"}, "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1528ddda-42c1-4851-9878-c8899d118060 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.78"}, "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"}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8300a5e0-bf8b-42e7-83d4-82f35758adef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8300a5e0-bf8b-42e7-83d4-82f35758adef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9acef538-cf18-4a64-a452-9ef358a1e509 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "b12b2d30-862e-45d0-98e3-94fd6533826e", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9acef538-cf18-4a64-a452-9ef358a1e509 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "b12b2d30-862e-45d0-98e3-94fd6533826e", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00010_nodes_get_other_admin [0.075119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00012_nodes_detail_get_member [0.095274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.079205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.050057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.031615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.027537s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.058480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.075773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.040902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.094328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.019868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.041843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.042415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.093430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.040042s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08ea8a11-74dd-48bd-b936-aaf6ede480ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08ea8a11-74dd-48bd-b936-aaf6ede480ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb8ad2cc-0da0-4c3d-90dc-7010b18c8024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:15.374034+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:51:15.376663+00:00", "updated_at": "2024-03-18T10:51:15.380280+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-driverz", "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", "traits": []}, "instance_uuid": "03e0d51c-b209-4f23-a32a-1c7671399a44", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "03e0d51c-b209-4f23-a32a-1c7671399a44", "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": "2024-03-18T10:51:15.393875+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", "cpus": "8", "local_gb": "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/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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb8ad2cc-0da0-4c3d-90dc-7010b18c8024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:15.374034+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:51:15.376663+00:00", "updated_at": "2024-03-18T10:51:15.380280+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-driverz", "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", "traits": []}, "instance_uuid": "03e0d51c-b209-4f23-a32a-1c7671399a44", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "03e0d51c-b209-4f23-a32a-1c7671399a44", "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": "2024-03-18T10:51:15.393875+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", "cpus": "8", "local_gb": "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/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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00013_nodes_detail_get_observer [0.087374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.068366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00024_nodes_validate_get_member [0.068317s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.025624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.075011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.062767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.075719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.034130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.056204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.042706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00027_nodes_maintenance_put_member [0.077396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.080329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.039263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.024283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.040068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.032578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.043539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.065920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.032780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.034894s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.029394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.068489s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.072824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.040145s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.037689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.041361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.043179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.028774s] ... ok DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72ce6112-5a19-4428-bba8-a64edbc24259 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'properties': {'bond_prop': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-663558ef-733d-4a9e-8379-08cddb7d9b5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'aa:bb_cc', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c52fc977-3138-4dda-9d6d-39422ae6fc52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'foo', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-58f5d8f1-1f5e-445a-92cb-3e0f173fe9df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:15.015968+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-03-18T10:51:15.015968+00:00', 'updated_at': None, 'address': 'aa:aa:aa:11:22:33', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'foo', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-013fb087-9915-40e4-9a59-9df404c425d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-bbb4eb7a-2ccb-4cc1-bd9b-5fae905b90a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1', 'agent_token': 'meow'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-7dc9fe75-fdf3-4726-aac2-e0cf49acee4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-5b112988-f4c6-4c96-a6e7-7d5a510f0694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-60fbef4d-1a4b-4a98-8fec-e7edba816fd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ce1e005-6dd9-420d-8c51-c4ea0741ca46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.67 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ec122e4-7f44-4edc-9f5c-1c1abf5e119c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.71 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95f94512-3c4d-46db-a6f3-c3ce90d6a176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.67 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=1d49e6a3-521b-4d1d-bd15-2ebb9e896239 {} DEBUG util.py:445: GOT:{'node': {'uuid': '1d49e6a3-521b-4d1d-bd15-2ebb9e896239', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/1d49e6a3-521b-4d1d-bd15-2ebb9e896239', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d49e6a3-521b-4d1d-bd15-2ebb9e896239', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True}}{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.105664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.139844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.046687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00045_nodes_states_get_member [0.073822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.044021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.032270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.137342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.080960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.022842s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78bd6a7b-4f8b-4c55-99c4-1898750a5ed1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78bd6a7b-4f8b-4c55-99c4-1898750a5ed1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08abb92d-136c-4462-b810-cf186187d065 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08abb92d-136c-4462-b810-cf186187d065 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1668038-ef94-4031-b4b3-3adea7a59b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1668038-ef94-4031-b4b3-3adea7a59b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab3a71a4-e1dc-412a-8509-f68e139df0ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab3a71a4-e1dc-412a-8509-f68e139df0ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7604f41-16c5-4167-9616-75ac6e0c5620 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7604f41-16c5-4167-9616-75ac6e0c5620 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-766d64c8-ba74-43dd-b57d-c4b115f193fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-766d64c8-ba74-43dd-b57d-c4b115f193fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f687180e-f3ff-4917-b975-cd3678f12cfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f687180e-f3ff-4917-b975-cd3678f12cfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95e94f4c-6ef4-45d8-8e70-1d8630065bae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95e94f4c-6ef4-45d8-8e70-1d8630065bae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0228a976-c2c3-4762-8f31-56bc5d1462ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00046_nodes_states_get_observer [0.079945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00053_nodes_states_secure_boot_put_admin [0.069837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.021208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.028546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.039954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.151917s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.129960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00054_nodes_states_secure_boot_put_member [0.081147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.067302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.083775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00055_nodes_states_secure_boot_put_observer [0.066281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.037178s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.066599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.024954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00057_nodes_states_provision_put_member [0.068469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.082318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00059_nodes_states_raid_put_admin [0.075368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.312120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.021944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00062_nodes_states_console_get_admin [0.072393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.175559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.074009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.077280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00066_nodes_states_console_put_observer [0.077931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.097847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.164480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.117815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.051561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.058710s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0228a976-c2c3-4762-8f31-56bc5d1462ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee176489-783f-4a3e-b386-da03ed6b4d9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee176489-783f-4a3e-b386-da03ed6b4d9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-523123f0-48a4-464e-98cf-8fe4a397f194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-523123f0-48a4-464e-98cf-8fe4a397f194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08eb98cd-4c44-465c-a0c4-07916bd41a4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08eb98cd-4c44-465c-a0c4-07916bd41a4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ff6f6fd-5ab8-4b7f-84f6-d2e3c5d3111a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ff6f6fd-5ab8-4b7f-84f6-d2e3c5d3111a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9be8304f-9499-428b-87f2-8387e77585ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9be8304f-9499-428b-87f2-8387e77585ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79430f7f-ff41-447d-a0b1-df73d4ab0995 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79430f7f-ff41-447d-a0b1-df73d4ab0995 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a21075bb-8be2-4199-9305-74c9fd3863dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a21075bb-8be2-4199-9305-74c9fd3863dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-941c35e4-fb98-4b23-b9c8-97649b5b1e33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-941c35e4-fb98-4b23-b9c8-97649b5b1e33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00072_nodes_vendor_passthru_get_observer [0.076640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00073_nodes_vendor_passthru_post_admin [0.070168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.078957s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.083801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00074_nodes_vendor_passthru_post_member [0.070798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.055330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.093954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00079_nodes_vendor_passthru_delete_admin [0.069201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.068663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.089852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00084_nodes_traits_get_observer [0.075586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.035795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.014577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.093065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00085_nodes_traits_put_admin [0.072396s] ... ok DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'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.78'}, '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'}]} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'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.78'}} DEBUG util.py:445: GET: /v1/volume/ {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/volume/ {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /volume/ {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': []} DEBUG util.py:445: GET: /volume/connectors {} DEBUG util.py:445: GOT:{'connectors': []} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': []} DEBUG util.py:445: GET: /volume/targets {} DEBUG util.py:445: GOT:{'targets': []} DEBUG util.py:445: GET: /v1/volume/connectors?detail=True {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:16.157986+00:00', 'updated_at': None, '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'}]} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=connector_id,extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5821bac1-330a-4cf0-8558-11cb3d775fb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': []} DEBUG util.py:445: GET: /v1/volume/connectors?node=test-node {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'be16e187-5cb6-4109-8b49-182902075f91', 'connector_id': 'test-value-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/be16e187-5cb6-4109-8b49-182902075f91', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/be16e187-5cb6-4109-8b49-182902075f91', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '5db5cb3b-035e-4bcf-aa0f-1deae873a3f1', 'connector_id': 'test-value-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/5db5cb3b-035e-4bcf-aa0f-1deae873a3f1', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5db5cb3b-035e-4bcf-aa0f-1deae873a3f1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '3f532406-e76d-4678-b4cb-a2d22fcb69ab', 'connector_id': 'test-value-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/3f532406-e76d-4678-b4cb-a2d22fcb69ab', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3f532406-e76d-4678-b4cb-a2d22fcb69ab', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/connectors?fields=uuid,extra {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '8ac73b9c-d37e-4ec8-a5dd-209016f033c3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/8ac73b9c-d37e-4ec8-a5dd-209016f033c3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8ac73b9c-d37e-4ec8-a5dd-209016f033c3', 'rel': 'bookmark'}]}, {'uuid': '80723545-4459-47da-96fc-ad9e9e7d0b4b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/80723545-4459-47da-96fc-ad9e9e7d0b4b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/80723545-4459-47da-96fc-ad9e9e7d0b4b', 'rel': 'bookmark'}]}, {'uuid': '62fee920-d380-4c57-a2a0-9b91eecf4ca3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/62fee920-d380-4c57-a2a0-9b91eecf4ca3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/62fee920-d380-4c57-a2a0-9b91eecf4ca3', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-feaebdf8-2f68-4034-a1e3-8b50a9432303 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.185958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.122746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.052674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00088_nodes_traits_delete_admin [0.075291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.059465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00090_nodes_traits_delete_observer [0.123749s] ... ok DEBUG util.py:445: 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 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'ec9d2a4c-1507-487a-8ac5-03f2f6f32900', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/ec9d2a4c-1507-487a-8ac5-03f2f6f32900', 'rel': 'self'}, {'href': 'http://localhost/nodes/ec9d2a4c-1507-487a-8ac5-03f2f6f32900', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '123456', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=13b7d5e5-02d5-4aff-8725-311079ac061a {} DEBUG util.py:445: GOT:{'node': {'uuid': '13b7d5e5-02d5-4aff-8725-311079ac061a', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/13b7d5e5-02d5-4aff-8725-311079ac061a', 'rel': 'self'}, {'href': 'http://localhost/nodes/13b7d5e5-02d5-4aff-8725-311079ac061a', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c968fe3-5c0b-46f0-88a3-1b311cb1caa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/connectors/?limit=3 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '9e59c777-72b9-4980-85da-4bb34be25249', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/9e59c777-72b9-4980-85da-4bb34be25249', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/9e59c777-72b9-4980-85da-4bb34be25249', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7d33cb62-0a14-4f44-9e26-7fee1b04c461', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/7d33cb62-0a14-4f44-9e26-7fee1b04c461', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7d33cb62-0a14-4f44-9e26-7fee1b04c461', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '39100a8e-7b94-4c8d-917a-63ff3a731126', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/39100a8e-7b94-4c8d-917a-63ff3a731126', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/39100a8e-7b94-4c8d-917a-63ff3a731126', '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=39100a8e-7b94-4c8d-917a-63ff3a731126'} DEBUG util.py:445: GET: /v1/volume/connectors?fields=uuid,extra {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'fcc093b8-e1b0-4e41-ab63-4e4e50707754', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/fcc093b8-e1b0-4e41-ab63-4e4e50707754', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/fcc093b8-e1b0-4e41-ab63-4e4e50707754', 'rel': 'bookmark'}]}, {'uuid': 'c9c37137-eb34-4aa3-859e-7d627d790bf6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/c9c37137-eb34-4aa3-859e-7d627d790bf6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/c9c37137-eb34-4aa3-859e-7d627d790bf6', 'rel': 'bookmark'}]}, {'uuid': 'f15ea2d1-ded6-475e-9b1c-714a956ee41d', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/f15ea2d1-ded6-475e-9b1c-714a956ee41d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f15ea2d1-ded6-475e-9b1c-714a956ee41d', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=f15ea2d1-ded6-475e-9b1c-714a956ee41d'} DEBUG util.py:445: GET: /v1/volume/connectors?detail=True&node=test-node {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:16.703296+00:00', 'updated_at': None, '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'}]} DEBUG util.py:445: GET: /v1/volume/connectors?detail=False {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/volume/connectors?detail=True {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:16.940184+00:00', 'updated_at': None, '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'} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '97ed96ee-7ea0-43b7-92a7-a0fcc605b070', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/97ed96ee-7ea0-43b7-92a7-a0fcc605b070', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/97ed96ee-7ea0-43b7-92a7-a0fcc605b070', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '1d92856b-6be8-400e-bfab-4ca0035bf300', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1d92856b-6be8-400e-bfab-4ca0035bf300', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1d92856b-6be8-400e-bfab-4ca0035bf300', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4953de92-6ac8-4a1c-96d9-677d1af3eaad', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4953de92-6ac8-4a1c-96d9-677d1af3eaad', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4953de92-6ac8-4a1c-96d9-677d1af3eaad', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd7c47e26-f13a-4629-9677-3875eb97395c', 'connector_id': 'test-connector_id-3', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d7c47e26-f13a-4629-9677-3875eb97395c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d7c47e26-f13a-4629-9677-3875eb97395c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '34ab4546-3517-4706-a342-0fd5a34dff15', 'connector_id': 'test-connector_id-4', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/34ab4546-3517-4706-a342-0fd5a34dff15', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/34ab4546-3517-4706-a342-0fd5a34dff15', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]}{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.123248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.103055s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.132780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.297964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.030861s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.051002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00095_nodes_traits_trait_delete_member [0.141983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.106524s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.019216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.017617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.120118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.017433s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.022846s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9709ff2f-3e2f-47bf-b0a6-0852d3d77d42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9709ff2f-3e2f-47bf-b0a6-0852d3d77d42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0d6defe-1714-4111-9ea6-d06a98812348 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0d6defe-1714-4111-9ea6-d06a98812348 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a509e91b-50df-4d92-82d7-5c5df4f0201e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a509e91b-50df-4d92-82d7-5c5df4f0201e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28407896-579b-4516-b934-3df1d76eb0d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28407896-579b-4516-b934-3df1d76eb0d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3dd905a-c2f5-4053-88f2-4a945fdabee0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3dd905a-c2f5-4053-88f2-4a945fdabee0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97e41e68-e628-488e-b65f-c79462cad436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97e41e68-e628-488e-b65f-c79462cad436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8ac3696-f090-492d-b3bd-5beaf089d2e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8ac3696-f090-492d-b3bd-5beaf089d2e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8be48dd-b28e-4808-8800-b79dd9d0a4b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8be48dd-b28e-4808-8800-b79dd9d0a4b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40f4e1da-6e59-4ae3-968b-31b8cc867746 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40f4e1da-6e59-4ae3-968b-31b8cc867746 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.121948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.019920s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.016088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.020129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.025340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00096_nodes_traits_trait_delete_observer [0.076183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00100_nodes_vifs_post_admin [0.075833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.031406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.175860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00101_nodes_vifs_post_member [0.075289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.173364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00102_nodes_vifs_post_observer [0.082002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.122292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.084572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00104_nodes_vifs_node_vif_ident_delete_member [0.089059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.114892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00105_nodes_vifs_node_vif_ident_delete_observer [0.083400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.327588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.124734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.020427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.080039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.022849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.034231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.015705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00119_portgroups_detail_get_member [0.082291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.026261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.138311s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.018330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.019063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.020954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.019986s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.015703s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.017496s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.016059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.189938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.019243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.135757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.023785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.093798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.022332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.022444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.104925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.038092s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.028424s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.021684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00122_portgroups_portgroup_ident_get_member [0.320815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.025446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.018681s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.022474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.120992s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.047983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.275084s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e491575d-30f1-4bc1-97f1-2f78b5f2fef4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e491575d-30f1-4bc1-97f1-2f78b5f2fef4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1053c24-a586-425d-a94f-fc4dd237f4d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1053c24-a586-425d-a94f-fc4dd237f4d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-985ad3a0-ea73-4fc2-b642-5a4822ed94bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-985ad3a0-ea73-4fc2-b642-5a4822ed94bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9d6fb94-1c49-4e72-b54f-04e8b1d7c368 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9d6fb94-1c49-4e72-b54f-04e8b1d7c368 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-222ef642-3d9e-4398-8955-3882789c58e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-222ef642-3d9e-4398-8955-3882789c58e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7716245a-955c-4da8-a454-0166a1d0cb10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7716245a-955c-4da8-a454-0166a1d0cb10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-655e5ff6-249b-43f9-a383-71fb920e54f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-655e5ff6-249b-43f9-a383-71fb920e54f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a50216e-0835-47d9-8c92-9e1ff0ebfc41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:18.356555+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a50216e-0835-47d9-8c92-9e1ff0ebfc41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:18.356555+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00123_portgroups_portgroup_ident_get_observer [0.079104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00125_portgroups_portgroup_ident_patch_member [0.071489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.069987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.043358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00127_portgroups_portgroup_ident_delete_admin [0.069982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.056951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00128_portgroups_portgroup_ident_delete_member [0.067093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.077649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00130_nodes_portgroups_get_admin [0.078997s] ... ok DEBUG util.py:445: GET: /v1/volume/connectors?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22085986-66f0-4d7c-8ed8-87d23fbfd712 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b3405a5-fb2c-4ec0-8af5-b59e7c0ac395 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-842a53fa-7fee-494a-8580-8b6c9b3382f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:17.321840+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"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ced040ed-764d-4f7f-a4b3-95ce51f50a6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/value', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74832f81-b65a-4e63-9137-620a4b2aa435 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /value. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eeaa703-7014-4672-b295-768d0141cc60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74bbfc82-a554-4df2-b33b-b3bec793746d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7de1e2fc-3695-4dbd-b79b-cd749ac8ad5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:17.945850+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"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10838a69-39b4-49eb-927d-bd1b7218d14b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': 123} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-236c8d4b-40ae-40b2-a4c1-b91e24a63022 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47e6fbda-d9da-4f51-b571-37213250f5c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-2d1a4ead-be48-4e61-8ce5-5ed2e2698265 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:18.528390+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"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:18.528390+00:00', 'updated_at': None, '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'}}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.237722s] ... ok DEBUG util.py:445: GET: /v1/volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682 {} DEBUG util.py:445: GOT:{'uuid': 'd21d5365-3536-49f7-9be7-0a58ce35d682', 'created_at': '2024-03-18T10:51:17.025123+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682 {} DEBUG util.py:445: GOT:{'uuid': 'd21d5365-3536-49f7-9be7-0a58ce35d682', 'created_at': '2024-03-18T10:51:17.025123+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682 {} DEBUG util.py:445: GOT:{'uuid': 'd21d5365-3536-49f7-9be7-0a58ce35d682', 'created_at': '2024-03-18T10:51:17.025123+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d21d5365-3536-49f7-9be7-0a58ce35d682', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a949945-fd90-436a-8fb2-04a03fa2edf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:17.350931+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"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af346ebe-fa4f-4daf-86b9-eb99c7222370 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:17.455747+00:00", "updated_at": "2024-03-18T10:51:17.458628+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"} DEBUG util.py:445: PATCH: /v1/volume/connectors/483c7b03-7b82-4791-a0b3-d56e15fb9a36 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d674450-29b8-4213-a4fe-f13d197f137e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 483c7b03-7b82-4791-a0b3-d56e15fb9a36 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-70d1d400-adcb-46fe-9207-920f51f21b84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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'} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': []} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30b0848b-2b42-49aa-b560-2baff00d4af7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03 {} DEBUG util.py:445: GOT:{'uuid': 'a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'created_at': '2024-03-18T10:51:18.284324+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03 {} DEBUG util.py:445: GOT:{'uuid': 'a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'created_at': '2024-03-18T10:51:18.284324+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03 {} DEBUG util.py:445: GOT:{'uuid': 'a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'created_at': '2024-03-18T10:51:18.284324+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a19e12f9-7cd2-4834-a8c7-4601e33bdb03', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"}{3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.095902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.145103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00134_nodes_portgroups_detail_get_member [0.076057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.181745s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.139445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.100918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00135_nodes_portgroups_detail_get_observer [0.078432s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.069175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.043075s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac4836c8-a07b-4c1d-b07b-ede89ef25751 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac4836c8-a07b-4c1d-b07b-ede89ef25751 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63fbd3f4-22ef-4f30-9341-73f266a44e04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63fbd3f4-22ef-4f30-9341-73f266a44e04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df6f4ba5-c4fb-4405-adb5-41823c88b140 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df6f4ba5-c4fb-4405-adb5-41823c88b140 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb47ea0e-6ebc-46c6-80f3-3dfcba0b3f4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb47ea0e-6ebc-46c6-80f3-3dfcba0b3f4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c0b6368-34e3-441e-9b2f-f222a7b37a4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c0b6368-34e3-441e-9b2f-f222a7b37a4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b8e49ec-b337-4570-b39b-e4c47b29d20b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:18.794318+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b8e49ec-b337-4570-b39b-e4c47b29d20b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:18.794318+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfc06be3-c700-43b4-8fcc-4c13f8d5b765 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfc06be3-c700-43b4-8fcc-4c13f8d5b765 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00138_ports_get_observer [0.085356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.176673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.145451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.078598s] ... ok DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5ec0a25-4d77-41c7-b9e9-84ad455e9791 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-335897ba-055a-4257-b878-e4d50954ddbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:{'node': {'uuid': '70bd820b-3314-4344-ae0f-f3d0ad5e0065', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', '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/70bd820b-3314-4344-ae0f-f3d0ad5e0065', 'rel': 'self'}, {'href': 'http://localhost/nodes/70bd820b-3314-4344-ae0f-f3d0ad5e0065', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=ac279ebb-a39a-46db-9577-541f6ef72344 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef40653b-510f-48db-8771-6804e3d436d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'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.78'}} DEBUG util.py:445: GET: /v1/volume/ {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe822d8d-b91d-477c-9d88-df173c554fd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5bfb1ce9-efce-4aef-884b-1cb11a8f0848 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'ff3023f9-663f-4c72-a8dd-12cec380476c', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ff3023f9-663f-4c72-a8dd-12cec380476c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ff3023f9-663f-4c72-a8dd-12cec380476c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4b485153-724e-4c42-9a4d-e4bfd076f61b', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4b485153-724e-4c42-9a4d-e4bfd076f61b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4b485153-724e-4c42-9a4d-e4bfd076f61b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '950c3790-b6d6-41be-ae58-c2e763d9cbbc', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/950c3790-b6d6-41be-ae58-c2e763d9cbbc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/950c3790-b6d6-41be-ae58-c2e763d9cbbc', '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=950c3790-b6d6-41be-ae58-c2e763d9cbbc'} DEBUG util.py:445: GET: /v1/volume/connectors/detail {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e7f2742-e42a-4ef2-b8d0-6695c74a27c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for connector_uuid: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/volume/connectors?sort_key=uuid {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '341d6a76-d504-4e61-8255-e8d1a7733110', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/341d6a76-d504-4e61-8255-e8d1a7733110', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/341d6a76-d504-4e61-8255-e8d1a7733110', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '720656ee-9345-4c1f-8e2c-899bca7e94c4', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/720656ee-9345-4c1f-8e2c-899bca7e94c4', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/720656ee-9345-4c1f-8e2c-899bca7e94c4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'cdfdab4f-2dae-47bb-b268-1099aae79e35', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/cdfdab4f-2dae-47bb-b268-1099aae79e35', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/cdfdab4f-2dae-47bb-b268-1099aae79e35', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d6dbe15-7866-4eed-9962-fe4bcd0631ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05ab432b-0da9-415e-9319-32c721da9d0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.074356s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.040872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.047183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00157_nodes_ports_detail_get_admin [0.177672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.146853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.082818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.049911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.040976s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.079098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.061618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.052472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.152297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.077316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.049846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.067918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00158_nodes_ports_detail_get_member [0.286219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.090173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.055427s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.148705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.061214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.061059s] ... ok DEBUG util.py:445: GET: /v1/volume/targets?sort_key=uuid {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '49821033-aeb3-424b-83e7-74bbe1d9bf24', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/49821033-aeb3-424b-83e7-74bbe1d9bf24', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/49821033-aeb3-424b-83e7-74bbe1d9bf24', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a0e064b0-5a26-4aae-9015-a71994bccd71', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a0e064b0-5a26-4aae-9015-a71994bccd71', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a0e064b0-5a26-4aae-9015-a71994bccd71', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c8e367b5-7248-472b-bcbe-2983d4bbd03a', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/c8e367b5-7248-472b-bcbe-2983d4bbd03a', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c8e367b5-7248-472b-bcbe-2983d4bbd03a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/targets?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7362d876-eab3-4abb-9133-274354622a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01e1684a-3bf7-40a1-97de-22794ebc10d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?sort_key=properties {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2bbc762-ed66-4d18-aa87-2b0bd2d8df67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8fdb6f90-f504-4c45-9980-50cfcc420eee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-432d3279-409b-4f63-8ac1-93f98c346fb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc2082f4-778a-4c16-a0b7-6309637628e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13fa8893-f137-427d-a598-c9482f6186a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f413994d-1eda-4b74-aecb-b6ba1fdab3ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:19.237921+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"} DEBUG util.py:445: PATCH: /v1/volume/targets/1cee70b3-4e3b-463e-b0e6-b6b14170415a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3076367f-37e7-440f-af39-5e07fab48873 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1cee70b3-4e3b-463e-b0e6-b6b14170415a could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/48b18040-f6dc-4bc3-b784-10ed627117a2 DEBUG util.py:445: Openstack-Request-Id: req-d8a728fd-8e09-4ceb-800c-02f131f9f4ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "48b18040-f6dc-4bc3-b784-10ed627117a2", "created_at": "2024-03-18T10:51:19.359406+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/48b18040-f6dc-4bc3-b784-10ed627117a2", "rel": "self"}, {"href": "http://localhost/volume/targets/48b18040-f6dc-4bc3-b784-10ed627117a2", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/targets/48b18040-f6dc-4bc3-b784-10ed627117a2 {} DEBUG util.py:445: GOT:{'uuid': '48b18040-f6dc-4bc3-b784-10ed627117a2', 'created_at': '2024-03-18T10:51:19.359406+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/48b18040-f6dc-4bc3-b784-10ed627117a2', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/48b18040-f6dc-4bc3-b784-10ed627117a2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': 123} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e04be5b7-0e2f-418a-8618-11b3453f98b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string'\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.071644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.074733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.136840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.193904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.034253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00165_portgroups_ports_detail_get_observer [0.314467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00002_unauthenticated_user_cannot_get_node [0.098234s] ... ok DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f4f6b53-45f0-4875-98ed-ea2c303f4b62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bbc4dae-9cc6-4aa3-af5f-5ecd60712fa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce3a9534-7128-4655-8fa8-5dfeb273c776 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:19.107282+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"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/volume/connectors {'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/6f478612-3148-4023-8c33-db219d8fe854 DEBUG util.py:445: Openstack-Request-Id: req-79a39422-fdcf-4ecf-868b-54726f2abd26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6f478612-3148-4023-8c33-db219d8fe854", "created_at": "2024-03-18T10:51:19.253588+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6f478612-3148-4023-8c33-db219d8fe854", "rel": "self"}, {"href": "http://localhost/volume/connectors/6f478612-3148-4023-8c33-db219d8fe854", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/connectors/6f478612-3148-4023-8c33-db219d8fe854 {} DEBUG util.py:445: GOT:{'uuid': '6f478612-3148-4023-8c33-db219d8fe854', 'created_at': '2024-03-18T10:51:19.253588+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6f478612-3148-4023-8c33-db219d8fe854', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6f478612-3148-4023-8c33-db219d8fe854', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-957f65a8-b6db-4a10-8fd0-51179b45a5f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f39edfd9-629c-414d-8c6b-e6f4fa3eb597 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-2b0f67e3-bcad-403c-93cc-6ccee3310f98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: GET: /v1/volume/targets/?limit=3 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'fe10b3b8-b167-47a3-8560-5d97ae2703d5', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fe10b3b8-b167-47a3-8560-5d97ae2703d5', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fe10b3b8-b167-47a3-8560-5d97ae2703d5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '227b5b9a-4334-4317-ba26-f02a34b9072e', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/227b5b9a-4334-4317-ba26-f02a34b9072e', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/227b5b9a-4334-4317-ba26-f02a34b9072e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c8472395-d07b-4a3f-b1a5-ae1d6adad4fd', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/c8472395-d07b-4a3f-b1a5-ae1d6adad4fd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c8472395-d07b-4a3f-b1a5-ae1d6adad4fd', '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=c8472395-d07b-4a3f-b1a5-ae1d6adad4fd'} DEBUG util.py:445: GET: /v1/volume/targets?fields=uuid,extra {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '0074390c-caee-40b9-b9db-7844b18667dd', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/0074390c-caee-40b9-b9db-7844b18667dd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0074390c-caee-40b9-b9db-7844b18667dd', 'rel': 'bookmark'}]}, {'uuid': '1512ea71-aa2d-4b1b-9a28-7db1e519e7b0', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/1512ea71-aa2d-4b1b-9a28-7db1e519e7b0', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1512ea71-aa2d-4b1b-9a28-7db1e519e7b0', 'rel': 'bookmark'}]}, {'uuid': '519b8b56-539b-462d-9630-a22aca092038', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/519b8b56-539b-462d-9630-a22aca092038', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/519b8b56-539b-462d-9630-a22aca092038', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=519b8b56-539b-462d-9630-a22aca092038'} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=boot_index,extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f78460ef-5d6d-4745-83bd-5bdc17f3297f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?detail=True&node=test-node {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:19.673633+00:00', 'updated_at': None, '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_detail_by_node_name_ok [0.041951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.043293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00004_project_member_cannot_get_node [0.055427s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.156502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.100489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.048150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.125559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00002_nodes_post_admin [0.153734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00166_volume_get_admin [0.238094s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.113175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.047594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.134976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00003_nodes_post_member [0.146263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.036649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.061865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00167_volume_get_member [0.205182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.059782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.049150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.046729s] ... ok DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-4e94cbe8-d303-4e5a-a6dc-8c21bc95759e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:19.560363+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"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:19.560363+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, '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'} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21cbe1b3-9ff1-480a-90d0-6f3a76f96583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21cbe1b3-9ff1-480a-90d0-6f3a76f96583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5086c069-ad39-41b9-8f5d-ef77b58acd3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5086c069-ad39-41b9-8f5d-ef77b58acd3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a64e0e4a-5c13-4f01-a3f0-083ec0a07b13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a64e0e4a-5c13-4f01-a3f0-083ec0a07b13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3aa72051-2707-46db-91cb-07ac2eb4cd7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3aa72051-2707-46db-91cb-07ac2eb4cd7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03b275bb-75f7-4bb9-909a-f66613f3da80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.106420+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00007_nodes_get_node_observer [0.108753s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.043686s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.294469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00171_volume_connectors_get_observer [0.316321s] ... ok DEBUG util.py:445: GET: /v1/volume/targets/detail {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71ec4cb0-0177-48f0-b154-de262941b7e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for target_uuid: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?node=test-node {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'c988a557-2399-4d7c-88b2-a71cad54c9b9', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/c988a557-2399-4d7c-88b2-a71cad54c9b9', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c988a557-2399-4d7c-88b2-a71cad54c9b9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '76255beb-cb36-427e-a819-b8af9306e4fa', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/76255beb-cb36-427e-a819-b8af9306e4fa', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/76255beb-cb36-427e-a819-b8af9306e4fa', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '781ff81a-fe02-4852-8d94-20285670c611', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/781ff81a-fe02-4852-8d94-20285670c611', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/781ff81a-fe02-4852-8d94-20285670c611', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3929b9d0-6de9-4906-ba26-6c25f7cba769 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:19.906905+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"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac823b39-a02b-4e17-b71d-d56d9e1a3a57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:20.019407+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"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-259835b5-b69b-4f64-82e6-50d970078e0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90bf8889-64e7-4e9e-89bc-fc25af64652c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7365d89-8801-4462-a5af-01f6c9d06998 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:20.169976+00:00", "updated_at": "2024-03-18T10:51:20.178474+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"} DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abce33f2-edf4-4808-a6bf-d4403c04065f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fadd5032-18fd-4738-8be1-3763f2341533 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-72086f9d-09fc-4ffd-b991-5b54ee69cae0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:20.402435+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.TestPost.test_node_uuid_to_node_id_mapping [0.083357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00003_project_admin_can_get_node [0.061594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.158899s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b456e58b-cc48-429c-8352-c40af2f15b4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.451377+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", "cpus": "8", "local_gb": "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": 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"}]} DEBUG util.py:445: uuid DEBUG util.py:445: {node_uuid} DEBUG util.py:445: driver DEBUG util.py:445: fake-hardware DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b456e58b-cc48-429c-8352-c40af2f15b4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.451377+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", "cpus": "8", "local_gb": "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": 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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/ DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c85a958-64f0-47b9-b8eb-7dcfd7d44595 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.78"}, "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c85a958-64f0-47b9-b8eb-7dcfd7d44595 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.78"}, "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"}]}{1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00007_public_api_v1_slash [0.046367s] ... ok DEBUG util.py:445: uuid DEBUG util.py:445: {node_ident} DEBUG util.py:445: driver DEBUG util.py:445: fake-driverz DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03b275bb-75f7-4bb9-909a-f66613f3da80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.106420+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fc0a0c9-ec66-4c7d-a143-3eb0e121c53f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.212479+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:51:20.222259+00:00", "updated_at": "2024-03-18T10:51:20.226123+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-driverz", "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", "traits": []}, "instance_uuid": "1fa2ca53-7a38-4f13-808b-855a69aa9a4f", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "1fa2ca53-7a38-4f13-808b-855a69aa9a4f", "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": "2024-03-18T10:51:20.242525+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", "cpus": "8", "local_gb": "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/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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fc0a0c9-ec66-4c7d-a143-3eb0e121c53f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.212479+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:51:20.222259+00:00", "updated_at": "2024-03-18T10:51:20.226123+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-driverz", "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", "traits": []}, "instance_uuid": "1fa2ca53-7a38-4f13-808b-855a69aa9a4f", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "1fa2ca53-7a38-4f13-808b-855a69aa9a4f", "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": "2024-03-18T10:51:20.242525+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", "cpus": "8", "local_gb": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00011_nodes_detail_get_admin [0.108710s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00015_nodes_node_ident_get_member [0.086623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.186041s] ... ok DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43a937ee-7c61-4417-bacf-d07be75057f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3498200-b5f0-41e7-9f52-b3f99b7b6afc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?detail=True {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-03-18T10:51:19.022849+00:00', 'updated_at': None, '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'}]} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bec89a9-a9b4-43c1-b32f-f483195e15d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?detail=False {} DEBUG util.py:445: GOT:{'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'}]} DEBUG util.py:445: GET: /v1/volume/targets?detail=True {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/targets?fields=boot_index&limit=2 {} DEBUG util.py:445: GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/1fdc9ce0-a73c-4489-931d-61bc845a1bde', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1fdc9ce0-a73c-4489-931d-61bc845a1bde', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/0f33ce3b-4eca-46c9-a9b3-13c8d7589a65', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0f33ce3b-4eca-46c9-a9b3-13c8d7589a65', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=0f33ce3b-4eca-46c9-a9b3-13c8d7589a65'} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c73fec6-5d66-4301-900b-3f98d1c7ea64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d63d2534-20ea-4a23-b6fe-99829093c6f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:19.847816+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"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccb4be36-f7aa-4b8d-be38-63913ca63605 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-669476b6-a924-48f5-923d-a267814cb8aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:20.132376+00:00", "updated_at": "2024-03-18T10:51:20.135836+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"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a676451-b517-4976-bdd2-5fb335f3228b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:20.132376+00:00", "updated_at": "2024-03-18T10:51:20.135836+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"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08d33115-8b1e-4db6-87b2-7227f20a66db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:20.434923+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"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"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.068210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00005_nodes_get_node_admin [0.094936s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b572bf5-36c7-470a-abe7-ae28f3678157 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.566275+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: uuid DEBUG util.py:445: {node_ident} DEBUG util.py:445: driver DEBUG util.py:445: fake-driverz DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b572bf5-36c7-470a-abe7-ae28f3678157 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.566275+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91bc925a-125e-4e95-ba0a-8ee2079a6c0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.660125+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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.TestRBACModelBeforeScopes.test_rbac_legacy_00008_nodes_get_node_other_admin [0.078824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.191359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00009_nodes_get_admin [0.077914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.070399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.355133s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.070058s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-404d38d1-c485-44cd-9d37-6c2fb908fe24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:18.981419+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-404d38d1-c485-44cd-9d37-6c2fb908fe24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:18.981419+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de9b150c-cd3c-43b7-a482-2c57f023ce64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de9b150c-cd3c-43b7-a482-2c57f023ce64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85e105f5-ff55-458b-99af-5d89178f674b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85e105f5-ff55-458b-99af-5d89178f674b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c70c942f-9fc5-4dbe-a3d1-991fef85667b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c70c942f-9fc5-4dbe-a3d1-991fef85667b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9be25ad8-de3f-409c-97c1-07fd1b736f6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9be25ad8-de3f-409c-97c1-07fd1b736f6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac746057-8665-41e3-bb6c-1bb6bf9e87e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac746057-8665-41e3-bb6c-1bb6bf9e87e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8a41ac7-78f5-4efa-9e76-0c818a425c13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8a41ac7-78f5-4efa-9e76-0c818a425c13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00178_volume_volume_connector_id_patch_admin [0.345789s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f946376-8cf7-4f9d-b1da-c0d02103a4d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f946376-8cf7-4f9d-b1da-c0d02103a4d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25bdf6c5-e12d-44f0-bd7a-bead8ab45b7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.418202+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25bdf6c5-e12d-44f0-bd7a-bead8ab45b7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.418202+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cc310b5-5404-4f3a-80a1-a99886857d0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cc310b5-5404-4f3a-80a1-a99886857d0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b73468f-487c-4341-adaa-6572629722cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00025_nodes_validate_get_observer [0.088079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.180233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.131746s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91bc925a-125e-4e95-ba0a-8ee2079a6c0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:20.660125+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23c78ca8-1c18-49d2-87e5-6e0b12b12da4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "4f340ea6-6f29-4f8d-8680-e596de4ee5d0", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23c78ca8-1c18-49d2-87e5-6e0b12b12da4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "4f340ea6-6f29-4f8d-8680-e596de4ee5d0", "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"}]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40c18084-eef1-4d79-a2f9-cc6b1ed10cc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40c18084-eef1-4d79-a2f9-cc6b1ed10cc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b70100ea-c4fd-474f-9a90-48958fc244bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b70100ea-c4fd-474f-9a90-48958fc244bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fc44cd0-b407-410b-848b-abc1a029372e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fc44cd0-b407-410b-848b-abc1a029372e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.070254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00183_volume_volume_connector_id_delete_observer [0.286897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.098531s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.119784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.066203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.095013s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.130884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00001_values ... SKIPPED: For value storage DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00184_volume_targets_get_admin [0.235166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.130913s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00006_public_api_v1 [0.100049s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.149989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.081597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00051_nodes_states_boot_mode_put_member [0.092729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00009_public_api_v1_xml [0.139310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.102231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00201_nodes_volume_get_observer [0.228724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.081711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00060_nodes_states_raid_put_member [0.106968s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.074472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00063_nodes_states_console_get_member [0.120000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00209_drivers_get_member [0.167721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00047_nodes_states_power_put_admin [0.081980s] ... ok DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-44baed42-3e93-431f-8e70-d034a6459bc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, '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'} DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56cce5dd-5fab-4d60-9cbd-51279512ac45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-284b9d17-6b64-4ef9-ac91-6d9b9144c851 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1 DEBUG util.py:445: GET: /v1 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb2a3f3d-d4ae-48cb-95cf-175bc61fcd37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.78"}, "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb2a3f3d-d4ae-48cb-95cf-175bc61fcd37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.78"}, "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"}]} DEBUG util.py:445: API ACL Testing Path get /v1.xml DEBUG util.py:445: GET: /v1.xml {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-187b9e06-e273-4f44-aebf-83606dfed9f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00006_nodes_get_node_member [0.182626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00210_drivers_get_observer [0.143400s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8207d186-7f42-4df5-b035-5329a0242a8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8207d186-7f42-4df5-b035-5329a0242a8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3344f9fd-af86-48d1-9e92-b7839dbe806f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3344f9fd-af86-48d1-9e92-b7839dbe806f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8dc56a0-0527-4257-ad3e-6d9c5f7355de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8dc56a0-0527-4257-ad3e-6d9c5f7355de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b3ca1a6-6c98-4c9a-865b-8a318c863e85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b3ca1a6-6c98-4c9a-865b-8a318c863e85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60395a1f-ef0b-408a-a2ad-76662c26ece2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60395a1f-ef0b-408a-a2ad-76662c26ece2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3406d62e-bf1d-4aef-ba33-fb02dc3edbf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3406d62e-bf1d-4aef-ba33-fb02dc3edbf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-882daa3c-e579-4c8c-91cd-44272aeae0a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-882daa3c-e579-4c8c-91cd-44272aeae0a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2815390-6625-496b-9eb7-9a7d09cfc363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2815390-6625-496b-9eb7-9a7d09cfc363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb42c665-fa10-457c-bb2e-016c3a82c86c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b73468f-487c-4341-adaa-6572629722cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb947707-1147-41e2-b563-b2e6dfde35ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb947707-1147-41e2-b563-b2e6dfde35ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-276181d2-7593-4e8d-b5eb-0ad8c13a09a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-276181d2-7593-4e8d-b5eb-0ad8c13a09a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ccb7901-5c6a-49c5-812e-b293ee278bd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ccb7901-5c6a-49c5-812e-b293ee278bd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fd76770-238e-4ba8-ba0c-991563ed432b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fd76770-238e-4ba8-ba0c-991563ed432b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c5cd225-50ee-45c5-ad62-fa23a7b005a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c5cd225-50ee-45c5-ad62-fa23a7b005a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6db499d9-500e-48d7-816e-136ac40ee72c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6db499d9-500e-48d7-816e-136ac40ee72c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a6ef40f-46ff-47cd-a760-d6131ad1b32a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a6ef40f-46ff-47cd-a760-d6131ad1b32a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d25a2f9-8196-4a3e-832e-7fe538c0a2e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d25a2f9-8196-4a3e-832e-7fe538c0a2e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00067_nodes_vendor_passthru_methods_get_admin [0.104743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00048_nodes_states_power_put_member [0.083463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.255156s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00068_nodes_vendor_passthru_methods_get_member [0.204543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00058_nodes_states_provision_put_observer [0.181010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00213_drivers_driver_name_get_observer [0.158536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.147318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00071_nodes_vendor_passthru_get_member [0.104486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00218_drivers_raid_logical_disk_properties_get_member [0.131611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00065_nodes_states_console_put_member [0.180639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00075_nodes_vendor_passthru_post_observer [0.123476s] ... ok DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-187b9e06-e273-4f44-aebf-83606dfed9f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a012cb1e-2fbe-41a1-bc62-9ff4a3d09dde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:21.813123+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a012cb1e-2fbe-41a1-bc62-9ff4a3d09dde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:51:21.813123+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a6ce052-f6ec-4870-bc57-7be8fb573d64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a6ce052-f6ec-4870-bc57-7be8fb573d64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38e21091-de73-4966-8100-90fe10294b14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38e21091-de73-4966-8100-90fe10294b14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00023_nodes_validate_get_admin [0.156561s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00069_nodes_vendor_passthru_methods_get_observer [0.133905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.156058s] ... ok DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-141c14a3-1083-4b07-b04c-7033c16679e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-141c14a3-1083-4b07-b04c-7033c16679e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99eb0526-7e81-41fe-be01-88d35fbcc29d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99eb0526-7e81-41fe-be01-88d35fbcc29d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0e1ad9f-27bf-410f-bed3-da50ab18e9ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0e1ad9f-27bf-410f-bed3-da50ab18e9ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d60f093-2cc3-4d18-9a6c-9922e946fac0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d60f093-2cc3-4d18-9a6c-9922e946fac0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7df5eda2-85e2-4931-975a-34bf3c9b2138 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7df5eda2-85e2-4931-975a-34bf3c9b2138 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45244065-2fb1-459e-94c8-46371d8b2f11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45244065-2fb1-459e-94c8-46371d8b2f11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84fd9722-6752-4f77-a5af-ca05de653018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84fd9722-6752-4f77-a5af-ca05de653018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e46c68f-c9db-438f-b8f2-942352c58b03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00222_drivers_vendor_passthru_methods_get_observer [0.163702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.118544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00080_nodes_vendor_passthru_delete_member [0.171778s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00223_drivers_vendor_passthru_get_admin [0.205780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00044_nodes_states_get_admin [0.110674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00083_nodes_traits_get_member [0.155422s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00078_nodes_vendor_passthru_put_observer [0.419278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00049_nodes_states_power_put_observer [0.090525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00226_drivers_vendor_passthru_post_admin [0.174079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00091_nodes_traits_trait_put_admin [0.093547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00087_nodes_traits_put_observer [0.130460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00050_nodes_states_boot_mode_put_admin [0.104469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00092_nodes_traits_trait_put_member [0.086280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00052_nodes_states_boot_mode_put_observer [0.097450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00227_drivers_vendor_passthru_post_member [0.213132s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00098_nodes_vifs_get_member [0.145971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00056_nodes_states_provision_put_admin [0.072651s] ... ok DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb42c665-fa10-457c-bb2e-016c3a82c86c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b241506b-572b-45d5-b505-bcf47cfb7d4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b241506b-572b-45d5-b505-bcf47cfb7d4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fc1f2c0-a0bf-4fca-a353-793ce1d16473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fc1f2c0-a0bf-4fca-a353-793ce1d16473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b9bebaf-ca84-481e-86ba-64a982b9435b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b9bebaf-ca84-481e-86ba-64a982b9435b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2b36955-7915-4dfb-917b-772fb90abc9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2b36955-7915-4dfb-917b-772fb90abc9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a43e132-a014-43d2-b98f-466ea14b3d8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a43e132-a014-43d2-b98f-466ea14b3d8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99d9f4eb-5b4b-4b83-9218-2749e301734d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99d9f4eb-5b4b-4b83-9218-2749e301734d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac7749fb-3dde-4898-9027-e32f7a3d2d27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac7749fb-3dde-4898-9027-e32f7a3d2d27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-746b1354-3966-4945-99ec-fdb91a86f0a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-746b1354-3966-4945-99ec-fdb91a86f0a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00097_nodes_vifs_get_admin [0.119528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00108_nodes_management_indicators_get_observer [0.166995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00230_drivers_vendor_passthru_put_member [0.183357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00103_nodes_vifs_node_vif_ident_delete_admin [0.116080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00112_portgroups_get_admin [0.097659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df1f57a4-44ca-4a5a-ac48-696a28c54558 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df1f57a4-44ca-4a5a-ac48-696a28c54558 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-644acdb9-0a84-4a82-a0ef-2e3841300371 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-644acdb9-0a84-4a82-a0ef-2e3841300371 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df816ad1-6296-41e6-b45c-294743fb0147 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df816ad1-6296-41e6-b45c-294743fb0147 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9bb47a5-3b09-44d1-89ba-744fc09fddf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9bb47a5-3b09-44d1-89ba-744fc09fddf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31ce1b7a-4dbb-4eb7-8d46-9139c58a34f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31ce1b7a-4dbb-4eb7-8d46-9139c58a34f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c31d8a3b-7fd7-4683-b15a-b11c1f52d2c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c31d8a3b-7fd7-4683-b15a-b11c1f52d2c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2fdd129-aa26-4706-8f39-aff934192217 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2fdd129-aa26-4706-8f39-aff934192217 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56f81b4d-730c-4afc-9335-4ff7ef28c0ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56f81b4d-730c-4afc-9335-4ff7ef28c0ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00061_nodes_states_raid_put_observer [0.169556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00064_nodes_states_console_put_admin [0.153599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00117_portgroups_post_observer [0.094869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00118_portgroups_detail_get_admin [0.075375s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f88dbfa6-6b1d-47f6-9f4a-c4bed6fae035 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f88dbfa6-6b1d-47f6-9f4a-c4bed6fae035 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04ff1bef-2cb0-4b65-9abb-5dbe2ffc4d3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04ff1bef-2cb0-4b65-9abb-5dbe2ffc4d3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55351f01-6c5f-45c7-91d2-f6b8b00f1c87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55351f01-6c5f-45c7-91d2-f6b8b00f1c87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f1d8464-d229-4d7d-8485-08da51bc8915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f1d8464-d229-4d7d-8485-08da51bc8915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa097438-f5b1-472f-a989-64434849a960 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa097438-f5b1-472f-a989-64434849a960 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61f7cbe1-316d-45e0-b642-159d232a96ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61f7cbe1-316d-45e0-b642-159d232a96ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-443e4b62-c4e7-47c6-9324-99c2aa45058f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-443e4b62-c4e7-47c6-9324-99c2aa45058f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17707c6b-c74a-4474-a49f-eceea8114bec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:23.315319+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17707c6b-c74a-4474-a49f-eceea8114bec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:23.315319+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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_00120_portgroups_detail_get_observer [0.159245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00234_nodes_bios_get_admin [0.200194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00124_portgroups_portgroup_ident_patch_admin [0.091380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00070_nodes_vendor_passthru_get_admin [0.197042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00121_portgroups_portgroup_ident_get_admin [0.120949s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00129_portgroups_portgroup_ident_delete_observer [0.089963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00132_nodes_portgroups_get_observer [0.119268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00238_nodes_bios_bios_setting_get_member [0.182768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00076_nodes_vendor_passthru_put_admin [0.139962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00141_ports_post_observer [0.092077s] ... ok DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17ccba97-c298-4608-935d-8b5a4219267e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17ccba97-c298-4608-935d-8b5a4219267e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0064a16e-f34e-4afd-921e-212e663f5857 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0064a16e-f34e-4afd-921e-212e663f5857 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6baf7fdf-289e-4fa7-8e9a-a61276d7af96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6baf7fdf-289e-4fa7-8e9a-a61276d7af96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-020c4ba4-8a36-4f7f-9c6c-8c913086b2dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:23.361818+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-020c4ba4-8a36-4f7f-9c6c-8c913086b2dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:23.361818+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f9f3e01-a978-4b47-944d-e41c6faa30fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f9f3e01-a978-4b47-944d-e41c6faa30fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4741626e-2cbd-4f24-8f5a-e3c624845ac4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4741626e-2cbd-4f24-8f5a-e3c624845ac4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b314e5f1-ca6e-46d0-a3de-3e1d4ae18215 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b314e5f1-ca6e-46d0-a3de-3e1d4ae18215 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00131_nodes_portgroups_get_member [0.112640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00133_nodes_portgroups_detail_get_admin [0.097752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00142_ports_detail_get_admin [0.096142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00077_nodes_vendor_passthru_put_member [0.131196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00241_conductors_get_member [0.252603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00081_nodes_vendor_passthru_delete_observer [0.115659s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bc27343-d9f6-4a2c-bcd8-26081f843c3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:23.458706+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bc27343-d9f6-4a2c-bcd8-26081f843c3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:23.458706+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29e17fc0-c4cf-441c-80a6-f14dee41a13e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29e17fc0-c4cf-441c-80a6-f14dee41a13e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fb98d71-f1b0-4acf-a2d3-590f25d89336 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fb98d71-f1b0-4acf-a2d3-590f25d89336 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19fe84bf-f7dd-48a8-b8a1-652d6bfd775e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:23.774361+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19fe84bf-f7dd-48a8-b8a1-652d6bfd775e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:23.774361+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e0f1fc0-d689-41b7-8bcd-d379b0e7bc78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:23.871324+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e0f1fc0-d689-41b7-8bcd-d379b0e7bc78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:23.871324+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00147_ports_port_id_get_observer [0.096813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00149_ports_port_id_patch_member [0.099271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00136_ports_get_admin [0.242698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00082_nodes_traits_get_admin [0.173868s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e46c68f-c9db-438f-b8f2-942352c58b03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cee30848-2732-4022-b8a3-a8f8ac7bafd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cee30848-2732-4022-b8a3-a8f8ac7bafd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50c9f973-daa7-4a74-bcf7-879554391e7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50c9f973-daa7-4a74-bcf7-879554391e7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb46c439-2405-45fc-98d6-ef1b84ecb5c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb46c439-2405-45fc-98d6-ef1b84ecb5c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35f427b8-e546-44b7-a591-0ad6531932c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35f427b8-e546-44b7-a591-0ad6531932c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fba1f5a2-cb57-4614-97be-f18902711d45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:51:23.355374+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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fba1f5a2-cb57-4614-97be-f18902711d45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:51:23.355374+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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-485d3348-8847-4d36-b814-646e2bebda66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-485d3348-8847-4d36-b814-646e2bebda66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcdbf4db-d6d6-4f11-88ab-f3ec5249754f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcdbf4db-d6d6-4f11-88ab-f3ec5249754f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87656b6d-0b51-4f5a-8774-46e82628f57c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:51:23.984425+00:00", "updated_at": "2024-03-18T10:51:24.031116+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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87656b6d-0b51-4f5a-8774-46e82628f57c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:51:23.984425+00:00", "updated_at": "2024-03-18T10:51:24.031116+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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00243_conductors_hostname_get_admin [0.161989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00250_allocations_get_member [0.093772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00153_ports_port_id_delete_observer [0.113669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00086_nodes_traits_put_member [0.151005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00156_nodes_ports_get_observer [0.104985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00137_ports_get_member [0.251266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00256_allocations_allocation_id_patch_member [0.146923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00089_nodes_traits_delete_member [0.102923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00163_portgroups_ports_detail_get_admin [0.105438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00257_allocations_allocation_id_patch_observer [0.137867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00164_portgroups_ports_detail_get_member [0.147028s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00139_ports_post_admin [0.232404s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59a6b690-00c2-4f37-9cf2-a02606e4e57a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59a6b690-00c2-4f37-9cf2-a02606e4e57a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e34683ef-c39b-4dc3-b2ae-a7f4c716a790 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e34683ef-c39b-4dc3-b2ae-a7f4c716a790 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8689c296-ca6d-4636-9360-04ec15512497 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8689c296-ca6d-4636-9360-04ec15512497 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea747f80-2599-4416-a369-b023d11932c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea747f80-2599-4416-a369-b023d11932c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9de3bc11-621a-4b51-b550-93de7459d6ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9de3bc11-621a-4b51-b550-93de7459d6ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f5a14a7-21bb-46bd-9703-2dea9cba9ac6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f5a14a7-21bb-46bd-9703-2dea9cba9ac6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f174b44d-d260-4cf4-a472-094deb6f796f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f174b44d-d260-4cf4-a472-094deb6f796f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-310d781b-3ae6-4b58-9400-eb962f298899 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-310d781b-3ae6-4b58-9400-eb962f298899 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13d42331-81cd-4918-82de-d6544da47ee8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00093_nodes_traits_trait_put_observer [0.209313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00169_volume_connectors_get_admin [0.076532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00263_nodes_allocation_get_observer [0.199973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00173_volume_connectors_post_member [0.082266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00143_ports_detail_get_member [0.203754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00094_nodes_traits_trait_delete_admin [0.204972s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75addd8f-b736-49ee-b0a1-e9647a955a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75addd8f-b736-49ee-b0a1-e9647a955a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6262d367-81d7-48ae-b996-1827ca7c1f22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6262d367-81d7-48ae-b996-1827ca7c1f22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b5eaf26-dd9d-4704-b001-17792d967d0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b5eaf26-dd9d-4704-b001-17792d967d0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32d6d7db-e851-4407-b48a-dcf677966a8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32d6d7db-e851-4407-b48a-dcf677966a8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc4416d3-abe3-4b19-8543-f9160433b311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc4416d3-abe3-4b19-8543-f9160433b311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eae68d01-f505-48a9-a8a7-f8b645f859de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eae68d01-f505-48a9-a8a7-f8b645f859de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1c6928e-fc72-4e81-83ce-86170772766f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1c6928e-fc72-4e81-83ce-86170772766f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24889d62-ca59-4425-8697-01ae57d4fde4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:24.707465+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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24889d62-ca59-4425-8697-01ae57d4fde4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:24.707465+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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00175_volume_volume_connector_id_get_admin [0.083173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00176_volume_volume_connector_id_get_member [0.089801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00145_ports_port_id_get_admin [0.156624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00267_deploy_templates_post_admin [0.224559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00177_volume_volume_connector_id_get_observer [0.083444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00099_nodes_vifs_get_observer [0.206610s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00285_chassis_get_admin [0.154465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00179_volume_volume_connector_id_patch_member [0.108209s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00106_nodes_management_indicators_get_admin [0.171700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00180_volume_volume_connector_id_patch_observer [0.097505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00186_volume_targets_get_observer [0.082029s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9105d8d-59db-4808-b95d-f5579863aa21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9105d8d-59db-4808-b95d-f5579863aa21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/2deba044-593b-4b21-800a-ba686c6c451e DEBUG util.py:445: PATCH: /v1/allocations/2deba044-593b-4b21-800a-ba686c6c451e [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4de6cc32-9a9a-4b57-a2b8-03c9705f2297 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2deba044-593b-4b21-800a-ba686c6c451e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4de6cc32-9a9a-4b57-a2b8-03c9705f2297 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2deba044-593b-4b21-800a-ba686c6c451e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/1a2d1457-cb11-479f-9716-74f6ec98b42b DEBUG util.py:445: PATCH: /v1/allocations/1a2d1457-cb11-479f-9716-74f6ec98b42b [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2cfb61e-bbfb-4f28-ab9e-7310365a3946 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2cfb61e-bbfb-4f28-ab9e-7310365a3946 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6615ccd8-8dd2-4bd7-8769-8557971d8922 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "919659c9-846a-4bf0-98f1-1a7b7d95b5a2", "created_at": "2024-03-18T10:51:24.496817+00:00", "updated_at": "2024-03-18T10:51:24.525256+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/919659c9-846a-4bf0-98f1-1a7b7d95b5a2", "rel": "self"}, {"href": "http://localhost/allocations/919659c9-846a-4bf0-98f1-1a7b7d95b5a2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6615ccd8-8dd2-4bd7-8769-8557971d8922 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "919659c9-846a-4bf0-98f1-1a7b7d95b5a2", "created_at": "2024-03-18T10:51:24.496817+00:00", "updated_at": "2024-03-18T10:51:24.525256+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/919659c9-846a-4bf0-98f1-1a7b7d95b5a2", "rel": "self"}, {"href": "http://localhost/allocations/919659c9-846a-4bf0-98f1-1a7b7d95b5a2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/7ad6194f-9d2f-418a-af73-e6c419a1f04c DEBUG util.py:445: Openstack-Request-Id: req-f26def1c-600c-43c0-8c42-097cffbf8176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7ad6194f-9d2f-418a-af73-e6c419a1f04c", "created_at": "2024-03-18T10:51:24.862180+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7ad6194f-9d2f-418a-af73-e6c419a1f04c", "rel": "self"}, {"href": "http://localhost/deploy_templates/7ad6194f-9d2f-418a-af73-e6c419a1f04c", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/7ad6194f-9d2f-418a-af73-e6c419a1f04c DEBUG util.py:445: Openstack-Request-Id: req-f26def1c-600c-43c0-8c42-097cffbf8176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7ad6194f-9d2f-418a-af73-e6c419a1f04c", "created_at": "2024-03-18T10:51:24.862180+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7ad6194f-9d2f-418a-af73-e6c419a1f04c", "rel": "self"}, {"href": "http://localhost/deploy_templates/7ad6194f-9d2f-418a-af73-e6c419a1f04c", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ef2fbd9-393c-4bbc-a035-97c335b29996 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ef2fbd9-393c-4bbc-a035-97c335b29996 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-135da911-b2e3-4281-8d0f-2bb1beb71d10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00292_chassis_chassis_id_get_member [0.168242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00191_volume_volume_target_id_get_member [0.112640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00107_nodes_management_indicators_get_member [0.223602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00297_chassis_chassis_id_delete_admin [0.287620s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a785bff0-76d3-4b54-b2b2-f426ae60875c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:23.728711+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a785bff0-76d3-4b54-b2b2-f426ae60875c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:23.728711+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4e9c19c-4182-41f3-8d20-17e8043c9f93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4e9c19c-4182-41f3-8d20-17e8043c9f93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8025f4ab-0e0d-4630-aaf5-22a4fa88020d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8025f4ab-0e0d-4630-aaf5-22a4fa88020d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-069a2948-324a-475f-88f7-1c25106ccdd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-069a2948-324a-475f-88f7-1c25106ccdd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f14d07d-748a-4ee8-8d00-4bbc00b46929 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f14d07d-748a-4ee8-8d00-4bbc00b46929 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-489a405e-5da0-46b7-b95c-1d666e7d94b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:24.806359+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-489a405e-5da0-46b7-b95c-1d666e7d94b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:24.806359+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00146_ports_port_id_get_member [0.559175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00113_portgroups_get_member [0.195071s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e00d8a0-1ec2-4485-8594-412b34b29e03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e00d8a0-1ec2-4485-8594-412b34b29e03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f3cac66-eb7e-4f23-985b-283c22b4c68f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:24.873490+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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f3cac66-eb7e-4f23-985b-283c22b4c68f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:24.873490+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"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa2c730a-2d50-4876-997d-5fcddb5161fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa2c730a-2d50-4876-997d-5fcddb5161fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e58300bf-898a-49b8-a550-1262458cd01c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e58300bf-898a-49b8-a550-1262458cd01c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4b1c856-fbd0-48b4-9401-cab93ed703ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4b1c856-fbd0-48b4-9401-cab93ed703ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57c63d7f-540a-404c-aa6c-bb110d473b50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57c63d7f-540a-404c-aa6c-bb110d473b50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f16e016-d362-455c-af53-d43f2a604926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:25.383404+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/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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f16e016-d362-455c-af53-d43f2a604926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:25.383404+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/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_00192_volume_volume_target_id_get_observer [0.115287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00194_volume_volume_target_id_patch_member [0.075921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00203_nodes_volume_connectors_get_member [0.096010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00301_node_history_get_member [0.186831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00152_ports_port_id_delete_member [0.241204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00205_nodes_volume_targets_get_admin [0.093063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00207_nodes_volume_targets_get_observer [0.089952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00114_portgroups_get_observer [0.269822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00303_node_history_get_entry_admin [0.186460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00208_drivers_get_admin [0.066389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00154_nodes_ports_get_admin [0.248739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00215_drivers_properties_get_member [0.103191s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00304_node_history_get_entry_member [0.152791s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13d42331-81cd-4918-82de-d6544da47ee8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15208220-d5e0-49d1-a27b-37d21f4d7d90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15208220-d5e0-49d1-a27b-37d21f4d7d90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bca38203-9a6c-4475-b1ce-608099365748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bca38203-9a6c-4475-b1ce-608099365748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7005c339-6bdb-413a-bea2-5db5a51eeaa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7005c339-6bdb-413a-bea2-5db5a51eeaa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb84c1d8-bb1c-4400-945d-fd0584b95151 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb84c1d8-bb1c-4400-945d-fd0584b95151 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d094808-d7f2-4e97-ae6c-688e826b61b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d094808-d7f2-4e97-ae6c-688e826b61b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eeace70f-f092-41e5-b1a8-0a534b51816d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eeace70f-f092-41e5-b1a8-0a534b51816d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92 DEBUG util.py:445: Openstack-Request-Id: req-31ad0d75-a22e-4772-b57b-72e1d2a7aa94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "2a820842-a031-4f04-aa86-2c75b2801a92", "created_at": "2024-03-18T10:51:26.013286+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92", "rel": "self"}, {"href": "http://localhost/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92/ports", "rel": "self"}, {"href": "http://localhost/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92/ports", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92 DEBUG util.py:445: Openstack-Request-Id: req-31ad0d75-a22e-4772-b57b-72e1d2a7aa94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "2a820842-a031-4f04-aa86-2c75b2801a92", "created_at": "2024-03-18T10:51:26.013286+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92", "rel": "self"}, {"href": "http://localhost/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92/ports", "rel": "self"}, {"href": "http://localhost/portgroups/2a820842-a031-4f04-aa86-2c75b2801a92/ports", "rel": "bookmark"}]}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00115_portgroups_post_admin [0.212073s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00224_drivers_vendor_passthru_get_member [0.120929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00002_owner_admin_cannot_post_nodes [0.226741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00160_portgroups_ports_get_admin [0.333563s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cceb6919-a5eb-4a79-8bc6-433204b4eb3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cceb6919-a5eb-4a79-8bc6-433204b4eb3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-813ad6a6-1425-4212-81a5-20c2fc86ded4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-813ad6a6-1425-4212-81a5-20c2fc86ded4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79dc2db2-f6ad-4a29-b0ad-4cf9bc0dd4e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79dc2db2-f6ad-4a29-b0ad-4cf9bc0dd4e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-405d72c6-e2c4-4a22-aadd-b0bb245455f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-405d72c6-e2c4-4a22-aadd-b0bb245455f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a14f25d9-e240-4173-a567-4119d19d62e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a14f25d9-e240-4173-a567-4119d19d62e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d3a5a2d-f3b4-4df8-9580-fba09be56b59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_properties\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d3a5a2d-f3b4-4df8-9580-fba09be56b59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_properties\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f24800f9-afb3-46ae-920e-5aae1d73e22e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f24800f9-afb3-46ae-920e-5aae1d73e22e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6437a970-49fc-4cbe-bc6b-a8998e68a504 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:51:26.119074+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_00237_nodes_bios_bios_setting_get_admin [0.086592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00239_nodes_bios_bios_setting_get_observer [0.082673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00242_conductors_get_observer [0.084370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00116_portgroups_post_member [0.329232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00013_third_party_admin_cannot_get_node [0.175635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00247_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. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00249_allocations_get_admin [0.072827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00126_portgroups_portgroup_ident_patch_observer [0.206895s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00161_portgroups_ports_get_member [0.261210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00254_allocations_allocation_id_get_observer [0.080520s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-135da911-b2e3-4281-8d0f-2bb1beb71d10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-630a55cd-ca54-4c2c-89be-c562002e7723 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-630a55cd-ca54-4c2c-89be-c562002e7723 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39c31187-9ed0-4f5e-ab8c-745bc77a6a96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39c31187-9ed0-4f5e-ab8c-745bc77a6a96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/925d1add-7a89-4d8c-8d3e-822549caf455 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/925d1add-7a89-4d8c-8d3e-822549caf455 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55360a13-1339-459b-adac-78fa17272d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "925d1add-7a89-4d8c-8d3e-822549caf455", "created_at": "2024-03-18T10:51:25.800252+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/925d1add-7a89-4d8c-8d3e-822549caf455", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55360a13-1339-459b-adac-78fa17272d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "925d1add-7a89-4d8c-8d3e-822549caf455", "created_at": "2024-03-18T10:51:25.800252+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/925d1add-7a89-4d8c-8d3e-822549caf455", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8aa437f9-b191-49fc-a290-8b55af43554c DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8aa437f9-b191-49fc-a290-8b55af43554c {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07ba3989-a412-4467-bf8e-0e4abf9facd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07ba3989-a412-4467-bf8e-0e4abf9facd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36a7d716-9895-4f3e-b161-58bb115ba1bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36a7d716-9895-4f3e-b161-58bb115ba1bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a7f587d-85bc-4abc-a451-720fa3cfa86a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a7f587d-85bc-4abc-a451-720fa3cfa86a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cac43152-cf6d-451c-a985-a440ae15aa8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-18T10:51:26.495505+00:00", "updated_at": "2024-03-18T10:51:26.517591+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": {"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, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "ce949213-4d8b-49c6-aa94-9455b1f37fe3", "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", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "ce949213-4d8b-49c6-aa94-9455b1f37fe3", "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"}]}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00016_lessee_reader_can_get_their_node [0.162306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00017_lessee_reader_cant_get_other_node [0.154915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00162_portgroups_ports_get_observer [0.260833s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6437a970-49fc-4cbe-bc6b-a8998e68a504 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:51:26.119074+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"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86497c5a-11b9-4f79-ae53-1df6d53c7335 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:51:26.211732+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"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86497c5a-11b9-4f79-ae53-1df6d53c7335 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:51:26.211732+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"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-649533d0-869a-4c83-9cb0-9dd81a3bfa8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-649533d0-869a-4c83-9cb0-9dd81a3bfa8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0053c7f-56c3-4a8f-91cf-c4a187372413 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "a4862e44-46be-415e-b7b5-c493a0d83f47", "created_at": "2024-03-18T10:51:26.438310+00:00", "updated_at": "2024-03-18T10:51:26.445176+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/a4862e44-46be-415e-b7b5-c493a0d83f47", "rel": "self"}, {"href": "http://localhost/allocations/a4862e44-46be-415e-b7b5-c493a0d83f47", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0053c7f-56c3-4a8f-91cf-c4a187372413 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "a4862e44-46be-415e-b7b5-c493a0d83f47", "created_at": "2024-03-18T10:51:26.438310+00:00", "updated_at": "2024-03-18T10:51:26.445176+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/a4862e44-46be-415e-b7b5-c493a0d83f47", "rel": "self"}, {"href": "http://localhost/allocations/a4862e44-46be-415e-b7b5-c493a0d83f47", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/c85e9f2c-3557-4dc4-b292-b8ba46230622 DEBUG util.py:445: GET: /v1/allocations/c85e9f2c-3557-4dc4-b292-b8ba46230622 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0a3b83a-0d29-4db8-884e-2945aaea6a96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "c85e9f2c-3557-4dc4-b292-b8ba46230622", "created_at": "2024-03-18T10:51:26.516732+00:00", "updated_at": "2024-03-18T10:51:26.524358+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/c85e9f2c-3557-4dc4-b292-b8ba46230622", "rel": "self"}, {"href": "http://localhost/allocations/c85e9f2c-3557-4dc4-b292-b8ba46230622", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0a3b83a-0d29-4db8-884e-2945aaea6a96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "c85e9f2c-3557-4dc4-b292-b8ba46230622", "created_at": "2024-03-18T10:51:26.516732+00:00", "updated_at": "2024-03-18T10:51:26.524358+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/c85e9f2c-3557-4dc4-b292-b8ba46230622", "rel": "self"}, {"href": "http://localhost/allocations/c85e9f2c-3557-4dc4-b292-b8ba46230622", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/5039ae50-489b-48ef-b896-a2cd4adecd22 DEBUG util.py:445: PATCH: /v1/allocations/5039ae50-489b-48ef-b896-a2cd4adecd22 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bde81716-2c4a-4145-8b00-c4f9e1b0f97a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5039ae50-489b-48ef-b896-a2cd4adecd22", "created_at": "2024-03-18T10:51:26.614264+00:00", "updated_at": "2024-03-18T10:51:26.728541+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/5039ae50-489b-48ef-b896-a2cd4adecd22", "rel": "self"}, {"href": "http://localhost/allocations/5039ae50-489b-48ef-b896-a2cd4adecd22", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00255_allocations_allocation_id_patch_admin [0.175824s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00140_ports_post_member [0.299616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00265_nodes_allocation_delete_member [0.116494s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cac43152-cf6d-451c-a985-a440ae15aa8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-18T10:51:26.495505+00:00", "updated_at": "2024-03-18T10:51:26.517591+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": {"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, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "ce949213-4d8b-49c6-aa94-9455b1f37fe3", "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", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "ce949213-4d8b-49c6-aa94-9455b1f37fe3", "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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8c58164-e7df-4345-ad6b-77957af87e6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8c58164-e7df-4345-ad6b-77957af87e6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c876462-be5b-4564-9ed8-7fdd8fd865f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-18T10:51:26.799211+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": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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"}]} DEBUG util.py:445: last_error DEBUG util.py:445: meow DEBUG util.py:445: reservation DEBUG util.py:445: lolcats DEBUG util.py:445: driver_internal_info DEBUG util.py:445: {'private_state': 'secret value'} DEBUG util.py:445: driver_info DEBUG util.py:445: {'foo': 'bar', 'fake_password': '******'} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c876462-be5b-4564-9ed8-7fdd8fd865f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-18T10:51:26.799211+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": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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.api.test_acl.TestRBACProjectScoped.test_project_scoped_00019_owner_reader_can_get_restricted_fields [0.148737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00022_lessee_reader_can_get_detail [0.130830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00268_deploy_templates_post_member [0.156186s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00168_volume_get_observer [0.246851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00144_ports_detail_get_observer [0.243396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00269_deploy_templates_post_observer [0.116591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00027_lessee_admin_can_patch_node_extra [0.218103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00170_volume_connectors_get_member [0.213467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00270_deploy_templates_get_admin [0.161867s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e450a6d-4f18-4de5-ad2e-841da69cc70e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-18T10:51:26.953073+00:00", "updated_at": "2024-03-18T10:51:26.963595+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": {"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, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "e4ca4753-f1f0-4268-9010-b559fedb1995", "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", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "e4ca4753-f1f0-4268-9010-b559fedb1995", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e450a6d-4f18-4de5-ad2e-841da69cc70e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-18T10:51:26.953073+00:00", "updated_at": "2024-03-18T10:51:26.963595+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": {"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, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "e4ca4753-f1f0-4268-9010-b559fedb1995", "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", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "e4ca4753-f1f0-4268-9010-b559fedb1995", "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"}]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e668fcf-e74c-4ff9-baea-e349b29b7b3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e668fcf-e74c-4ff9-baea-e349b29b7b3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b07ee0c3-7fa3-4db4-ba88-3768f9adbc22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00030_third_party_admin_cannot_patch_node_extra [0.217788s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ed0eae1-5bf0-43b3-9b2a-8c35e0d82359 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ed0eae1-5bf0-43b3-9b2a-8c35e0d82359 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bfd3f5e-a11b-409f-8512-16a89df41879 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bfd3f5e-a11b-409f-8512-16a89df41879 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e70c1d57-f268-4baf-b0d1-36d88dae2b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e70c1d57-f268-4baf-b0d1-36d88dae2b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f959304-2d1a-4a58-aa4c-9554c0ea5eec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f959304-2d1a-4a58-aa4c-9554c0ea5eec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b3123b9-b09e-45fc-8560-cb24dd27a66c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b3123b9-b09e-45fc-8560-cb24dd27a66c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d168f243-0d51-4968-a569-6ae2283dbe83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d168f243-0d51-4968-a569-6ae2283dbe83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71a5e37d-9719-4c80-ac58-ec3ffe3fc4fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71a5e37d-9719-4c80-ac58-ec3ffe3fc4fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de57c821-55a7-45ab-847f-391d45f32e21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de57c821-55a7-45ab-847f-391d45f32e21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-462769fa-0c05-458d-968e-99190670c628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-462769fa-0c05-458d-968e-99190670c628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00174_volume_connectors_post_observer [0.162520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00273_deploy_templates_deploy_template_id_get_admin [0.199862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00182_volume_volume_connector_id_delete_member [0.144241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00148_ports_port_id_patch_admin [0.511938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00031_owner_admin_can_change_drivers [0.171439s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00187_volume_targets_post_admin [0.073628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00189_volume_targets_post_observer [0.080977s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bde81716-2c4a-4145-8b00-c4f9e1b0f97a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5039ae50-489b-48ef-b896-a2cd4adecd22", "created_at": "2024-03-18T10:51:26.614264+00:00", "updated_at": "2024-03-18T10:51:26.728541+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/5039ae50-489b-48ef-b896-a2cd4adecd22", "rel": "self"}, {"href": "http://localhost/allocations/5039ae50-489b-48ef-b896-a2cd4adecd22", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16f85bd2-6f20-4b60-a394-f8d79e4f8b6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16f85bd2-6f20-4b60-a394-f8d79e4f8b6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cfa99b8-ad10-4c03-840d-e91e51781978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cfa99b8-ad10-4c03-840d-e91e51781978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4eb19d5a-74bf-4a31-9e0c-60d75b9459ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4eb19d5a-74bf-4a31-9e0c-60d75b9459ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64b64c0f-e471-4ea4-9d4f-7ceda06fdc98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "d40cf296-3059-40ab-9d36-749925ba7f43", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/d40cf296-3059-40ab-9d36-749925ba7f43", "rel": "self"}, {"href": "http://localhost/deploy_templates/d40cf296-3059-40ab-9d36-749925ba7f43", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64b64c0f-e471-4ea4-9d4f-7ceda06fdc98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "d40cf296-3059-40ab-9d36-749925ba7f43", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/d40cf296-3059-40ab-9d36-749925ba7f43", "rel": "self"}, {"href": "http://localhost/deploy_templates/d40cf296-3059-40ab-9d36-749925ba7f43", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/e0e4c142-0096-49da-83ee-eddf1dbb7ba2 DEBUG util.py:445: GET: /v1/deploy_templates/e0e4c142-0096-49da-83ee-eddf1dbb7ba2 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23e727e2-4811-4589-b9c6-72e4fd437560 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e0e4c142-0096-49da-83ee-eddf1dbb7ba2", "created_at": "2024-03-18T10:51:27.404795+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e0e4c142-0096-49da-83ee-eddf1dbb7ba2", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0e4c142-0096-49da-83ee-eddf1dbb7ba2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23e727e2-4811-4589-b9c6-72e4fd437560 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e0e4c142-0096-49da-83ee-eddf1dbb7ba2", "created_at": "2024-03-18T10:51:27.404795+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e0e4c142-0096-49da-83ee-eddf1dbb7ba2", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0e4c142-0096-49da-83ee-eddf1dbb7ba2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/9390b2c9-ee45-4576-90e0-2c7c7596e9d9 DEBUG util.py:445: PATCH: /v1/deploy_templates/9390b2c9-ee45-4576-90e0-2c7c7596e9d9 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c435003e-0e41-4a9a-8951-50117e46a997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "9390b2c9-ee45-4576-90e0-2c7c7596e9d9", "created_at": "2024-03-18T10:51:27.613495+00:00", "updated_at": "2024-03-18T10:51:27.672007+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9390b2c9-ee45-4576-90e0-2c7c7596e9d9", "rel": "self"}, {"href": "http://localhost/deploy_templates/9390b2c9-ee45-4576-90e0-2c7c7596e9d9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c435003e-0e41-4a9a-8951-50117e46a997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "9390b2c9-ee45-4576-90e0-2c7c7596e9d9", "created_at": "2024-03-18T10:51:27.613495+00:00", "updated_at": "2024-03-18T10:51:27.672007+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9390b2c9-ee45-4576-90e0-2c7c7596e9d9", "rel": "self"}, {"href": "http://localhost/deploy_templates/9390b2c9-ee45-4576-90e0-2c7c7596e9d9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00276_deploy_templates_deploy_template_id_patch_admin [0.195720s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00193_volume_volume_target_id_patch_admin [0.075559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00034_lessee_admin_cannot_change_lessee [0.166817s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00288_chassis_detail_get_admin [0.140615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00150_ports_port_id_patch_observer [0.237572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00035_lessee_admin_cannot_change_owner [0.103016s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00196_volume_volume_target_id_delete_admin [0.138908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00289_chassis_detail_get_member [0.102932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00036_owner_admin_can_change_lessee [0.150643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00151_ports_port_id_delete_admin [0.186671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00198_volume_volume_target_id_delete_observer [0.148962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00290_chassis_detail_get_observer [0.134558s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00037_owner_admin_cannot_change_owner [0.131569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00294_chassis_chassis_id_patch_admin [0.150375s] ... ok DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93aeaa44-b6fc-462c-9d52-a35477f6a2a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93aeaa44-b6fc-462c-9d52-a35477f6a2a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/704b861a-29c8-4f3b-b3bb-975b176029d5 DEBUG util.py:445: Openstack-Request-Id: req-09a1498e-716f-4715-8cd9-9ab561125878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "704b861a-29c8-4f3b-b3bb-975b176029d5", "created_at": "2024-03-18T10:51:27.616869+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/704b861a-29c8-4f3b-b3bb-975b176029d5", "rel": "self"}, {"href": "http://localhost/volume/targets/704b861a-29c8-4f3b-b3bb-975b176029d5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/704b861a-29c8-4f3b-b3bb-975b176029d5 DEBUG util.py:445: Openstack-Request-Id: req-09a1498e-716f-4715-8cd9-9ab561125878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "704b861a-29c8-4f3b-b3bb-975b176029d5", "created_at": "2024-03-18T10:51:27.616869+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/704b861a-29c8-4f3b-b3bb-975b176029d5", "rel": "self"}, {"href": "http://localhost/volume/targets/704b861a-29c8-4f3b-b3bb-975b176029d5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db531bce-31fc-4fb7-82e9-1bd5431e2214 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db531bce-31fc-4fb7-82e9-1bd5431e2214 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b33243c-341b-4bbd-9a47-20a456cef695 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b33243c-341b-4bbd-9a47-20a456cef695 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5754e69a-7ee4-402d-b366-e1c6014b79db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5754e69a-7ee4-402d-b366-e1c6014b79db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc1ff5cc-e397-4138-80b0-896362b8c966 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc1ff5cc-e397-4138-80b0-896362b8c966 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0423568-6b21-49a2-99be-374e6249327b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0423568-6b21-49a2-99be-374e6249327b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00202_nodes_volume_connectors_get_admin [0.154612s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89f0feb4-a6b1-4285-bb1d-e2658cf671cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89f0feb4-a6b1-4285-bb1d-e2658cf671cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c708028f-da09-48ef-9741-6646d9120c29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c708028f-da09-48ef-9741-6646d9120c29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f290210d-2151-4212-8b0a-336c03a9a134 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f290210d-2151-4212-8b0a-336c03a9a134 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46aaccc1-0d0f-471c-a6a4-1d70ef170f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:26.996617+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46aaccc1-0d0f-471c-a6a4-1d70ef170f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:26.996617+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6e86bc2-107b-47f7-a344-61cd4fda400d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6e86bc2-107b-47f7-a344-61cd4fda400d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e3f6e08-0481-44ec-907c-2045ac2c113b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e3f6e08-0481-44ec-907c-2045ac2c113b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76398975-3643-4c37-a254-59d9fdd28291 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76398975-3643-4c37-a254-59d9fdd28291 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6ccd2bd-dce4-4add-b618-a568ff74bad3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00155_nodes_ports_get_member [0.196524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00295_chassis_chassis_id_patch_member [0.109935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00045_owner_admin_can_patch_node_instance_info [0.224770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00211_drivers_driver_name_get_admin [0.175433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00159_nodes_ports_detail_get_observer [0.231697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00050_lessee_reader_can_patch_node_instance_info [0.111907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00212_drivers_driver_name_get_member [0.143139s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85c933ef-2a77-4ada-98cd-d3bc44660ac0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:27.771316+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"}]]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85c933ef-2a77-4ada-98cd-d3bc44660ac0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:27.771316+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"}]]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee8a8284-53d9-4708-9dfe-699d19e9d405 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee8a8284-53d9-4708-9dfe-699d19e9d405 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0cfea25-aa23-4439-8394-c327581025b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:28.014287+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"}]]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0cfea25-aa23-4439-8394-c327581025b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:28.014287+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"}]]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a06273b-15c9-4c43-9dc9-321efd4b356d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:28.151827+00:00", "updated_at": "2024-03-18T10:51:28.229945+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"}]]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a06273b-15c9-4c43-9dc9-321efd4b356d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:28.151827+00:00", "updated_at": "2024-03-18T10:51:28.229945+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"}]]} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c168fa0f-3d53-482c-b6fc-94ecb873be84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c168fa0f-3d53-482c-b6fc-94ecb873be84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f2a935a-5af0-4e62-8e06-2ed20781ac25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "5e2a95ad-f9b2-4664-a7da-121ff8885761", "created_at": "2024-03-18T10:51:28.484009+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/5e2a95ad-f9b2-4664-a7da-121ff8885761", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f2a935a-5af0-4e62-8e06-2ed20781ac25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "5e2a95ad-f9b2-4664-a7da-121ff8885761", "created_at": "2024-03-18T10:51:28.484009+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/5e2a95ad-f9b2-4664-a7da-121ff8885761", "rel": "self"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00302_node_history_get_observer [0.203381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00305_node_history_get_entry_observer [0.150606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00172_volume_connectors_post_admin [0.228258s] ... ok DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b07ee0c3-7fa3-4db4-ba88-3768f9adbc22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa5fba39-ecd0-4ab2-829f-d89f26de1f1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa5fba39-ecd0-4ab2-829f-d89f26de1f1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a92af71-d2fc-40e3-a3cd-c34cb8ef00f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a92af71-d2fc-40e3-a3cd-c34cb8ef00f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/owner', 'value': '1234'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bf7447e-f377-48d7-81c6-f000b78beec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bf7447e-f377-48d7-81c6-f000b78beec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08e752a0-01ff-4178-898e-258c82c2b5ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08e752a0-01ff-4178-898e-258c82c2b5ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/owner', 'value': '1234'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-375ded8a-6248-489b-97c4-29cdf3a9dbdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-375ded8a-6248-489b-97c4-29cdf3a9dbdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fad63821-5c2e-42e2-9e0c-7b7683be1325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fad63821-5c2e-42e2-9e0c-7b7683be1325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56c1fd1b-03c7-4c52-aeaa-5e483ccdf16e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56c1fd1b-03c7-4c52-aeaa-5e483ccdf16e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7b72c7f-2917-47fc-b93b-926ec29818f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7b72c7f-2917-47fc-b93b-926ec29818f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00052_owner_admin_cannot_delete_nodes [0.151899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00055_owner_admin_can_validate_node [0.073002s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00214_drivers_properties_get_admin [0.218450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00056_lessee_admin_can_validate_node [0.083210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00181_volume_volume_connector_id_delete_admin [0.179654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00057_owner_member_can_validate_node [0.065791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00005_owner_member_cannot_post_nodes [0.195338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00216_drivers_properties_get_observer [0.148672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00062_owner_member_can_set_maintenance [0.079355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00064_third_party_admin_cannot_set_maintenance [0.063414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00010_lessee_admin_can_get_node [0.129566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00219_drivers_raid_logical_disk_properties_get_observer [0.158666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00185_volume_targets_get_member [0.204933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00070_owner_admin_can_set_boot_device [0.075116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00225_drivers_vendor_passthru_get_observer [0.130213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00011_lessee_member_can_get_node [0.207019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00188_volume_targets_post_member [0.171497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00072_owner_member_cannot_set_boot_device [0.168907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00240_conductors_get_admin [0.082363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00244_conductors_hostname_get_member [0.095937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00012_lessee_reader_can_get_node [0.178976s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-454e9a1a-6c20-4ff9-8058-924ec5554226 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-454e9a1a-6c20-4ff9-8058-924ec5554226 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed5dba6b-e1e7-4eea-9502-615ad412f262 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed5dba6b-e1e7-4eea-9502-615ad412f262 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff808910-55a4-459e-959e-5a3144010d76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff808910-55a4-459e-959e-5a3144010d76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14dc45f8-dd97-4c8d-a238-688e96b51733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14dc45f8-dd97-4c8d-a238-688e96b51733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-456174b8-f0e9-42c1-9b94-d540e7e867bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-456174b8-f0e9-42c1-9b94-d540e7e867bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-564b9a49-4358-4466-b67c-9710f755476a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-564b9a49-4358-4466-b67c-9710f755476a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-348203e3-df63-451e-95dd-49f00bd1aaff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-348203e3-df63-451e-95dd-49f00bd1aaff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3857cd7e-71cb-403b-8de2-99dfcf49012d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3857cd7e-71cb-403b-8de2-99dfcf49012d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43242ed1-8bfa-43cf-89d6-3e78b77913a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:51:29.416164+00:00", "updated_at": "2024-03-18T10:51:29.417026+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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43242ed1-8bfa-43cf-89d6-3e78b77913a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:51:29.416164+00:00", "updated_at": "2024-03-18T10:51:29.417026+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.TestRBACModelBeforeScopes.test_rbac_legacy_00245_conductors_hostname_get_observer [0.074737s] ... ok DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6ccd2bd-dce4-4add-b618-a568ff74bad3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cafde77-5d92-4e4a-9165-daa42f4f440c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:28.339935+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cafde77-5d92-4e4a-9165-daa42f4f440c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:28.339935+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1e5ca219-7599-4339-9dfd-4e0f5a8ec49d DEBUG util.py:445: Openstack-Request-Id: req-6f900230-fc3d-49eb-b0fd-7f08f44db108 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1e5ca219-7599-4339-9dfd-4e0f5a8ec49d", "created_at": "2024-03-18T10:51:28.686891+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/1e5ca219-7599-4339-9dfd-4e0f5a8ec49d", "rel": "self"}, {"href": "http://localhost/volume/connectors/1e5ca219-7599-4339-9dfd-4e0f5a8ec49d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1e5ca219-7599-4339-9dfd-4e0f5a8ec49d DEBUG util.py:445: Openstack-Request-Id: req-6f900230-fc3d-49eb-b0fd-7f08f44db108 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1e5ca219-7599-4339-9dfd-4e0f5a8ec49d", "created_at": "2024-03-18T10:51:28.686891+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/1e5ca219-7599-4339-9dfd-4e0f5a8ec49d", "rel": "self"}, {"href": "http://localhost/volume/connectors/1e5ca219-7599-4339-9dfd-4e0f5a8ec49d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6d71926-0734-4103-9198-68c17ae623be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6d71926-0734-4103-9198-68c17ae623be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f29a5263-4c15-4608-84ae-8a25dbec855e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f29a5263-4c15-4608-84ae-8a25dbec855e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21cad07f-2a98-458c-8f7d-0189df27f9a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21cad07f-2a98-458c-8f7d-0189df27f9a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2765ea4f-d1b7-453b-b2aa-8b022719ad0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:29.350407+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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2765ea4f-d1b7-453b-b2aa-8b022719ad0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:29.350407+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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00190_volume_volume_target_id_get_admin [0.199109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00246_allocations_post_admin [0.115558s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00015_owner_reader_cannot_get_other_node [0.183498s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00253_allocations_allocation_id_get_member [0.094786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00195_volume_volume_target_id_patch_observer [0.260947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00074_third_party_admin_cannot_set_boot_device [0.478997s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/982e9660-a6c2-4e0f-a134-f8c076a7c3a8 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/982e9660-a6c2-4e0f-a134-f8c076a7c3a8 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be86dd4c-f536-4c35-95f1-ea2d50dc122d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "982e9660-a6c2-4e0f-a134-f8c076a7c3a8", "created_at": "2024-03-18T10:51:28.629148+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/982e9660-a6c2-4e0f-a134-f8c076a7c3a8", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be86dd4c-f536-4c35-95f1-ea2d50dc122d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "982e9660-a6c2-4e0f-a134-f8c076a7c3a8", "created_at": "2024-03-18T10:51:28.629148+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/982e9660-a6c2-4e0f-a134-f8c076a7c3a8", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0498f484-5279-4b4e-a5cc-5e8b36a2b8eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0498f484-5279-4b4e-a5cc-5e8b36a2b8eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19090647-3638-4944-b9b4-f4655a4372a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "57a38673-7bff-4f93-8cc8-c4dfa52f201a", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19090647-3638-4944-b9b4-f4655a4372a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "57a38673-7bff-4f93-8cc8-c4dfa52f201a", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ac682ff-9785-4700-b5a0-1a2c1498e757 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "bfc8f536-ea5d-40c0-b72b-53e904152c53", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ac682ff-9785-4700-b5a0-1a2c1498e757 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "bfc8f536-ea5d-40c0-b72b-53e904152c53", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0e13eab-ac5c-4486-91ca-6c482abf194c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "9f37d2d9-3eec-4e8a-af91-9b6db1327214", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0e13eab-ac5c-4486-91ca-6c482abf194c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "9f37d2d9-3eec-4e8a-af91-9b6db1327214", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b245684a-2ade-46ad-b99b-c7c35542bdce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b245684a-2ade-46ad-b99b-c7c35542bdce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a79571a-d61b-4af6-901a-00dd2b9a357c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a79571a-d61b-4af6-901a-00dd2b9a357c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00025_owner_member_can_patch_node_extra [0.132351s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00258_allocations_allocation_id_delete_admin [0.130205s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00259_allocations_allocation_id_delete_member [0.068722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00038_lessee_member_can_set_protected [0.164922s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-442a8b3c-2e83-4800-8f4c-0bff54363dcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-442a8b3c-2e83-4800-8f4c-0bff54363dcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a55a1ae-a02a-4275-91c8-02f6378fbd0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a55a1ae-a02a-4275-91c8-02f6378fbd0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-301e4040-9d06-4718-ad6b-4885424835f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-301e4040-9d06-4718-ad6b-4885424835f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b705ec6c-4cdc-4ff5-bf9a-c181a2c29f3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b705ec6c-4cdc-4ff5-bf9a-c181a2c29f3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10fc6527-6f15-4a6b-86b0-24d7fd4c67d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10fc6527-6f15-4a6b-86b0-24d7fd4c67d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6d103ff-dd02-462c-9616-7ec72ad19876 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6d103ff-dd02-462c-9616-7ec72ad19876 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19f41c3f-9ed7-44af-87c3-98a608c9188f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19f41c3f-9ed7-44af-87c3-98a608c9188f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb781c5d-fcdb-414b-a808-a9884043dfb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb781c5d-fcdb-414b-a808-a9884043dfb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aba72130-f294-4e52-b127-5c4dd557198c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00079_owner_reader_cannot_get_boot_device [0.128651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00260_allocations_allocation_id_delete_observer [0.101311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00082_owner_admin_can_get_supported_boot_devices [0.093486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00197_volume_volume_target_id_delete_member [0.271599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00039_lessee_member_cannot_patch_instance_info [0.113095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00262_nodes_allocation_get_member [0.105895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00088_third_party_admin_cannot_send_non_masking_interrupt [0.142725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00264_nodes_allocation_delete_admin [0.098079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00199_nodes_volume_get_admin [0.260314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00040_lessee_member_cannot_patch_driver_info [0.268183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00271_deploy_templates_get_member [0.083875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00092_owner_admin_can_put_power_state_change [0.228737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00041_lessee_member_cannot_patch_properties [0.106336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00200_nodes_volume_get_member [0.198236s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ec04213-9ce8-4d3d-b36f-7c98c614b69f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ec04213-9ce8-4d3d-b36f-7c98c614b69f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/cb0fc4cc-7644-44f0-8e2c-1ac3ce4fa656 DEBUG util.py:445: GET: /v1/allocations/cb0fc4cc-7644-44f0-8e2c-1ac3ce4fa656 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfec3c3c-bb52-4cec-b1d5-43f396af9cce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cb0fc4cc-7644-44f0-8e2c-1ac3ce4fa656 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfec3c3c-bb52-4cec-b1d5-43f396af9cce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cb0fc4cc-7644-44f0-8e2c-1ac3ce4fa656 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/cdf8b742-4e4a-4f4d-8042-2bdbec24f14d DEBUG util.py:445: DELETE: /v1/allocations/cdf8b742-4e4a-4f4d-8042-2bdbec24f14d DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71d51b0f-67ae-4f02-978d-0d147e50813e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71d51b0f-67ae-4f02-978d-0d147e50813e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/c2925e46-54c1-46c9-befe-87cfe138e134 DEBUG util.py:445: DELETE: /v1/allocations/c2925e46-54c1-46c9-befe-87cfe138e134 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3811b701-9e53-45ad-baf3-7da3886dfe93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c2925e46-54c1-46c9-befe-87cfe138e134 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3811b701-9e53-45ad-baf3-7da3886dfe93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c2925e46-54c1-46c9-befe-87cfe138e134 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/0db957dc-703d-4a60-a405-c2856a687ff2 DEBUG util.py:445: DELETE: /v1/allocations/0db957dc-703d-4a60-a405-c2856a687ff2 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e77bcaea-f728-45f8-bc4e-190a83104040 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e77bcaea-f728-45f8-bc4e-190a83104040 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab579f20-2842-471b-b1e8-0d18dc7312cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab579f20-2842-471b-b1e8-0d18dc7312cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0365cf5-d849-4112-abcf-9c7a730bed4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0365cf5-d849-4112-abcf-9c7a730bed4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cba18b8b-3170-4124-8fcd-d78390d09844 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cba18b8b-3170-4124-8fcd-d78390d09844 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49c2fbb3-315a-4674-a855-65d9a4f78b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "e0b7c50a-a8e5-4334-b124-988e13e911ae", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e0b7c50a-a8e5-4334-b124-988e13e911ae", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0b7c50a-a8e5-4334-b124-988e13e911ae", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49c2fbb3-315a-4674-a855-65d9a4f78b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "e0b7c50a-a8e5-4334-b124-988e13e911ae", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e0b7c50a-a8e5-4334-b124-988e13e911ae", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0b7c50a-a8e5-4334-b124-988e13e911ae", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00272_deploy_templates_get_observer [0.122922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00275_deploy_templates_deploy_template_id_get_observer [0.096862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00100_lessee_admin_can_put_boot_mode_state_change [0.187267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00277_deploy_templates_deploy_template_id_patch_member [0.076729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00048_lessee_admin_can_patch_node_instance_info [0.176316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00278_deploy_templates_deploy_template_id_patch_observer [0.084782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00113_owner_admin_can_change_provision_state [0.116051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00049_lessee_member_cannot_patch_node_instance_info [0.126201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00204_nodes_volume_connectors_get_observer [0.245923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00279_deploy_templates_deploy_template_id_delete_admin [0.099000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00115_lessee_admin_can_change_provision_state [0.129169s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00051_third_party_admin_cannot_patch_node_instance_info [0.088828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00281_deploy_templates_deploy_template_id_delete_observer [0.102017s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/protected', 'value': True}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-698c6ae3-a28f-46d8-b7e2-b1c3e1813355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-698c6ae3-a28f-46d8-b7e2-b1c3e1813355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03296cb3-5eea-42ec-9208-a4129fd6fc04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03296cb3-5eea-42ec-9208-a4129fd6fc04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f403ebc3-370c-40ae-bed4-fb393718cb1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f403ebc3-370c-40ae-bed4-fb393718cb1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-778c955a-cea5-4a35-a957-f57713226d41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-778c955a-cea5-4a35-a957-f57713226d41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f11a5905-3f14-4355-b44a-e40f9035bdcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f11a5905-3f14-4355-b44a-e40f9035bdcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55899548-5c2c-402d-9ce0-f33c2b35ba66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55899548-5c2c-402d-9ce0-f33c2b35ba66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0aa6bbba-f7db-4afa-8d26-dc05ee677b09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0aa6bbba-f7db-4afa-8d26-dc05ee677b09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cda08663-4ec1-4161-a9a1-effa1e7d1975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cda08663-4ec1-4161-a9a1-effa1e7d1975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00058_lessee_member_cannot_validate_node [0.082538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00060_owner_admin_can_set_maintenance [0.082951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00206_nodes_volume_targets_get_member [0.254184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00119_lessee_admin_cannot_set_raid_config [0.173151s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00282_chassis_post_admin [0.141528s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d6db712-ae0d-42fe-9d99-aa68af7e45a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d6db712-ae0d-42fe-9d99-aa68af7e45a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bf0abde-aedb-4f34-9547-cbe965e771d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bf0abde-aedb-4f34-9547-cbe965e771d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-baa86fbe-0ca2-4b3c-af22-6f59d9d584d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-baa86fbe-0ca2-4b3c-af22-6f59d9d584d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-018685a4-53da-4d7b-b8e4-8094d444ba4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-018685a4-53da-4d7b-b8e4-8094d444ba4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3914b0e-b229-4b07-a795-8830d6cc4404 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3914b0e-b229-4b07-a795-8830d6cc4404 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd3515fd-03f9-41f5-b301-3268a246da68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd3515fd-03f9-41f5-b301-3268a246da68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-160a007e-272b-4286-89b8-c6a76fec0b7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-160a007e-272b-4286-89b8-c6a76fec0b7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00217_drivers_raid_logical_disk_properties_get_admin [0.126294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00061_lessee_admin_can_set_maintenance [0.166253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00283_chassis_post_member [0.122650s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aba72130-f294-4e52-b127-5c4dd557198c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4a46703-5694-465a-8c34-70179970553b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4a46703-5694-465a-8c34-70179970553b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e89e078a-b405-470d-85a1-b71d1c3c9421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e89e078a-b405-470d-85a1-b71d1c3c9421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1739b540-a062-4c40-ac87-dc401d1ec826 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1739b540-a062-4c40-ac87-dc401d1ec826 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f6e8b58-99a5-4f8b-bf89-f4341ff3e113 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f6e8b58-99a5-4f8b-bf89-f4341ff3e113 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4b31440-15bb-40a3-84d1-277d7eff8eac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4b31440-15bb-40a3-84d1-277d7eff8eac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d030423c-851f-4cd2-bb19-23b541c43965 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d030423c-851f-4cd2-bb19-23b541c43965 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b6b69c3-1a89-43a1-b35a-00f40626a9a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b6b69c3-1a89-43a1-b35a-00f40626a9a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f032ff7-919d-464f-b466-521a1f48dd01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f032ff7-919d-464f-b466-521a1f48dd01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00126_lessee_member_cannot_get_console [0.159933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00063_lessee_member_cannot_set_maintenance [0.092018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00127_owner_reader_cannot_get_console [0.132175s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00067_owner_member_can_unset_maintnenance [0.083865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00220_drivers_vendor_passthru_methods_get_admin [0.235617s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/e0de53db-2833-4437-a76d-3fd5c05e7350 DEBUG util.py:445: GET: /v1/deploy_templates/e0de53db-2833-4437-a76d-3fd5c05e7350 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65f04fca-e04d-48ca-b506-b4847a70c156 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e0de53db-2833-4437-a76d-3fd5c05e7350", "created_at": "2024-03-18T10:51:30.436357+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e0de53db-2833-4437-a76d-3fd5c05e7350", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0de53db-2833-4437-a76d-3fd5c05e7350", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65f04fca-e04d-48ca-b506-b4847a70c156 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e0de53db-2833-4437-a76d-3fd5c05e7350", "created_at": "2024-03-18T10:51:30.436357+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e0de53db-2833-4437-a76d-3fd5c05e7350", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0de53db-2833-4437-a76d-3fd5c05e7350", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/030a2e74-1a0c-4fb5-aef0-e0ecb6a6a52a DEBUG util.py:445: PATCH: /v1/deploy_templates/030a2e74-1a0c-4fb5-aef0-e0ecb6a6a52a [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d23689a5-2b7c-42ff-b8b0-1e3a9faba625 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d23689a5-2b7c-42ff-b8b0-1e3a9faba625 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/f119e5bf-e94c-489b-8ef0-4b90fbe52d4e DEBUG util.py:445: PATCH: /v1/deploy_templates/f119e5bf-e94c-489b-8ef0-4b90fbe52d4e [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77578baf-79a7-4ef3-b432-8072bf91885a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77578baf-79a7-4ef3-b432-8072bf91885a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/3d431612-c2db-486e-8619-2b3dc1723c4c DEBUG util.py:445: DELETE: /v1/deploy_templates/3d431612-c2db-486e-8619-2b3dc1723c4c DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ca932ac6-391a-49fa-9aeb-5c75d22b42ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ca932ac6-391a-49fa-9aeb-5c75d22b42ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/2bdc0c56-47df-4c9e-8a5e-a27d784ff327 DEBUG util.py:445: DELETE: /v1/deploy_templates/2bdc0c56-47df-4c9e-8a5e-a27d784ff327 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33ba8f00-67f5-4fd2-be5c-86a05cb8c552 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33ba8f00-67f5-4fd2-be5c-86a05cb8c552 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/5699410e-c393-4644-ba47-1eaeea939e55 DEBUG util.py:445: Openstack-Request-Id: req-c454a266-b5d1-4c27-8f9e-2c12c95acc92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5699410e-c393-4644-ba47-1eaeea939e55", "created_at": "2024-03-18T10:51:30.970857+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/5699410e-c393-4644-ba47-1eaeea939e55", "rel": "self"}, {"href": "http://localhost/chassis/5699410e-c393-4644-ba47-1eaeea939e55", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/5699410e-c393-4644-ba47-1eaeea939e55/nodes", "rel": "self"}, {"href": "http://localhost/chassis/5699410e-c393-4644-ba47-1eaeea939e55/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/5699410e-c393-4644-ba47-1eaeea939e55 DEBUG util.py:445: Openstack-Request-Id: req-c454a266-b5d1-4c27-8f9e-2c12c95acc92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5699410e-c393-4644-ba47-1eaeea939e55", "created_at": "2024-03-18T10:51:30.970857+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/5699410e-c393-4644-ba47-1eaeea939e55", "rel": "self"}, {"href": "http://localhost/chassis/5699410e-c393-4644-ba47-1eaeea939e55", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/5699410e-c393-4644-ba47-1eaeea939e55/nodes", "rel": "self"}, {"href": "http://localhost/chassis/5699410e-c393-4644-ba47-1eaeea939e55/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a69a816-37d5-477a-9626-e5ab11911ab6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a69a816-37d5-477a-9626-e5ab11911ab6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-adadfc59-1add-4401-a595-e40afbbeb00b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00286_chassis_get_member [0.158217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00068_lessee_member_cannot_unset_maintenance [0.088508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00129_third_party_admin_cannot_get_console [0.143628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00287_chassis_get_observer [0.148804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00073_lessee_member_cannot_set_boot_device [0.090010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00133_lessee_member_cannot_set_console [0.092617s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00296_chassis_chassis_id_patch_observer [0.101715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00078_lessee_member_cannot_get_boot_device [0.088038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00221_drivers_vendor_passthru_methods_get_member [0.265654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00299_chassis_chassis_id_delete_observer [0.072266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00139_lessee_reader_cannot_get_vendor_passthru_methods [0.122486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00006_owner_reader_cannot_post_reader [0.084897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00090_lessee_reader_get_states [0.126627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00140_owner_admin_cannot_get_vendor_passthru [0.093138s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00009_owner_reader_can_get_node [0.077370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00228_drivers_vendor_passthru_post_observer [0.268650s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-adadfc59-1add-4401-a595-e40afbbeb00b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03738cf0-b61d-4765-bdab-56097b42debc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03738cf0-b61d-4765-bdab-56097b42debc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa787ebb-9e36-4bfd-8318-8a215c50ed14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa787ebb-9e36-4bfd-8318-8a215c50ed14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57f08759-718d-4ab4-ae7e-35f35588b415 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57f08759-718d-4ab4-ae7e-35f35588b415 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bfd4e13-f616-4213-aed2-30ebac0c7063 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bfd4e13-f616-4213-aed2-30ebac0c7063 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f063572-cec1-4307-94c9-5abd4f8eef54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "093f7ff1-2069-4139-9a86-020db664c24e", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f063572-cec1-4307-94c9-5abd4f8eef54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "093f7ff1-2069-4139-9a86-020db664c24e", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa3ee4ff-a5de-4027-bbd6-662a83aa1e0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-18T10:51:31.773746+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": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00014_owner_reader_can_get_their_node [0.076628s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7591bde-8f42-4691-8a8c-71aa0f3652f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7591bde-8f42-4691-8a8c-71aa0f3652f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-196b78ba-9f59-4fa5-8b1f-539575dd6e1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-196b78ba-9f59-4fa5-8b1f-539575dd6e1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f347ba6-dc6a-4ce6-aa8a-af16e5d115dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f347ba6-dc6a-4ce6-aa8a-af16e5d115dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-204f7f1d-33ac-4eec-b233-d9d643dc1602 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-204f7f1d-33ac-4eec-b233-d9d643dc1602 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5dee15ea-8581-4595-9b61-06b5ce9b3408 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5dee15ea-8581-4595-9b61-06b5ce9b3408 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25b0c26d-fa2d-4f2d-8007-6db0c23a76d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25b0c26d-fa2d-4f2d-8007-6db0c23a76d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15e076b6-d507-45e9-8fc8-5a6564535d2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15e076b6-d507-45e9-8fc8-5a6564535d2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9e98e34-d2f4-47ce-b8a7-6ed5b92acde0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9e98e34-d2f4-47ce-b8a7-6ed5b92acde0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00098_third_party_admin_cannot_put_power_state_change [0.236275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00143_lessee_admin_cannot_get_vendor_passthru [0.175805s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00229_drivers_vendor_passthru_put_admin [0.188392s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00018_third_party_admin_cant_get_node [0.213561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00148_owner_reader_cannot_post_vendor_passthru [0.172330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00231_drivers_vendor_passthru_put_observer [0.084485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00152_owner_admin_cannot_put_vendor_passthru [0.103778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00099_owner_admin_can_put_boot_mode_state_change [0.276500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00235_nodes_bios_get_member [0.151721s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0a6999e-deb7-4ade-99d9-8681ee0b214f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0a6999e-deb7-4ade-99d9-8681ee0b214f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac856d82-6db3-42aa-b3f6-794769d4a56f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac856d82-6db3-42aa-b3f6-794769d4a56f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd53ccad-7d83-4757-84ac-6becc1892022 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd53ccad-7d83-4757-84ac-6becc1892022 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d4bdda7-5950-4344-aac6-cabaf99b4807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d4bdda7-5950-4344-aac6-cabaf99b4807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e151d05e-224f-42e6-aa95-d0608318afc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e151d05e-224f-42e6-aa95-d0608318afc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b661c98-8b66-4396-8d22-6776b6846b03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b661c98-8b66-4396-8d22-6776b6846b03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c17ad5a-6619-4b1b-beeb-c442ea056335 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c17ad5a-6619-4b1b-beeb-c442ea056335 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0de10abf-d0d2-44d4-a52b-6f0ede3c1b7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0de10abf-d0d2-44d4-a52b-6f0ede3c1b7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00154_owner_reader_cannot_put_vendor_passthru [0.091839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00158_owner_admin_cannot_delete_vendor_passthru [0.070277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00023_third_party_admin_cannot_get_detail [0.355983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00160_owner_reader_cannot_delete_vendor_passthru [0.080672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00236_nodes_bios_get_observer [0.146696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00171_third_party_admin_cannot_put_traits [0.103093s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00102_lessee_member_can_put_boot_mode_state_change [0.330923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00248_allocations_post_observer [0.080472s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-279e1763-2b9b-4a52-876c-fbed2ebf4773 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-279e1763-2b9b-4a52-876c-fbed2ebf4773 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09da7526-1b77-424e-8854-ee64a6c77c04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09da7526-1b77-424e-8854-ee64a6c77c04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f88b845-a9f1-4228-bc98-9dd7c253f18a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f88b845-a9f1-4228-bc98-9dd7c253f18a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcc57a0b-e178-4812-a5d3-b58dac2b80bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcc57a0b-e178-4812-a5d3-b58dac2b80bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b251e34-eef8-4e28-a182-0747a3cbbccf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b251e34-eef8-4e28-a182-0747a3cbbccf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-640cb78c-fa31-425b-9a69-90be9aa6456b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-640cb78c-fa31-425b-9a69-90be9aa6456b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b56030f-56e9-4758-bc55-5a82ed32839b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:51:32.447225+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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b56030f-56e9-4758-bc55-5a82ed32839b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:51:32.447225+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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07976446-58a5-4681-879a-67a594e6a5b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07976446-58a5-4681-879a-67a594e6a5b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6754b33-d7c5-42d0-b0cb-bcdfbc5f0524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "f3c3bbee-27e1-4cc4-aaa6-9d2985f0eade", "created_at": "2024-03-18T10:51:32.591777+00:00", "updated_at": "2024-03-18T10:51:32.599527+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/f3c3bbee-27e1-4cc4-aaa6-9d2985f0eade", "rel": "self"}, {"href": "http://localhost/allocations/f3c3bbee-27e1-4cc4-aaa6-9d2985f0eade", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00251_allocations_get_observer [0.081290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00252_allocations_allocation_id_get_admin [0.072614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00174_lessee_admin_cannot_delete_traits [0.215740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00024_owner_admin_can_patch_node_extra [0.348417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00110_owner_reader_cannot_put_secure_boot_state_change [0.274639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00261_nodes_allocation_get_admin [0.107873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00266_nodes_allocation_delete_observer [0.092515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00193_lessee_admin_can_delete_vifs [0.196758s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00112_third_party_admin_cannot_put_secure_boot_state_change [0.194391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00274_deploy_templates_deploy_template_id_get_member [0.069601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00028_lessee_member_can_patch_node_extra [0.271613s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00280_deploy_templates_deploy_template_id_delete_member [0.072257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00195_lessee_member_cannot_delete_vifs [0.178476s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6754b33-d7c5-42d0-b0cb-bcdfbc5f0524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "f3c3bbee-27e1-4cc4-aaa6-9d2985f0eade", "created_at": "2024-03-18T10:51:32.591777+00:00", "updated_at": "2024-03-18T10:51:32.599527+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/f3c3bbee-27e1-4cc4-aaa6-9d2985f0eade", "rel": "self"}, {"href": "http://localhost/allocations/f3c3bbee-27e1-4cc4-aaa6-9d2985f0eade", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/06b9c6f3-2958-498d-8941-a1217ae7d4de DEBUG util.py:445: GET: /v1/allocations/06b9c6f3-2958-498d-8941-a1217ae7d4de {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e349e8e1-701b-4f31-a09b-0b272379dfe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "06b9c6f3-2958-498d-8941-a1217ae7d4de", "created_at": "2024-03-18T10:51:32.670654+00:00", "updated_at": "2024-03-18T10:51:32.678420+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/06b9c6f3-2958-498d-8941-a1217ae7d4de", "rel": "self"}, {"href": "http://localhost/allocations/06b9c6f3-2958-498d-8941-a1217ae7d4de", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e349e8e1-701b-4f31-a09b-0b272379dfe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "06b9c6f3-2958-498d-8941-a1217ae7d4de", "created_at": "2024-03-18T10:51:32.670654+00:00", "updated_at": "2024-03-18T10:51:32.678420+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/06b9c6f3-2958-498d-8941-a1217ae7d4de", "rel": "self"}, {"href": "http://localhost/allocations/06b9c6f3-2958-498d-8941-a1217ae7d4de", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80527ea9-070d-4d4d-9cd6-0bee5a4d6f96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8fd912de-a479-4a35-b79d-29353da2aa4d", "created_at": "2024-03-18T10:51:32.762593+00:00", "updated_at": "2024-03-18T10:51:32.772020+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/8fd912de-a479-4a35-b79d-29353da2aa4d", "rel": "self"}, {"href": "http://localhost/allocations/8fd912de-a479-4a35-b79d-29353da2aa4d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80527ea9-070d-4d4d-9cd6-0bee5a4d6f96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8fd912de-a479-4a35-b79d-29353da2aa4d", "created_at": "2024-03-18T10:51:32.762593+00:00", "updated_at": "2024-03-18T10:51:32.772020+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/8fd912de-a479-4a35-b79d-29353da2aa4d", "rel": "self"}, {"href": "http://localhost/allocations/8fd912de-a479-4a35-b79d-29353da2aa4d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc7b6b31-4d49-4071-a7d8-85e35fc454fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc7b6b31-4d49-4071-a7d8-85e35fc454fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/83e7a6f3-fa5f-483d-84e9-8cc053da2ece DEBUG util.py:445: GET: /v1/deploy_templates/83e7a6f3-fa5f-483d-84e9-8cc053da2ece {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c15c6c2-24df-4769-a8d5-8634dffbfb63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c15c6c2-24df-4769-a8d5-8634dffbfb63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/8b6892c7-f0a6-46fc-95ae-2b3858eecacc DEBUG util.py:445: DELETE: /v1/deploy_templates/8b6892c7-f0a6-46fc-95ae-2b3858eecacc DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82fa78d2-e2a0-42aa-91ae-67ee4ef5b39c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82fa78d2-e2a0-42aa-91ae-67ee4ef5b39c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e2e786e-26ea-4a5c-b35e-766780514ac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e2e786e-26ea-4a5c-b35e-766780514ac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00284_chassis_post_observer [0.065617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00291_chassis_chassis_id_get_admin [0.090455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00114_owner_member_can_change_provision_state [0.229668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00293_chassis_chassis_id_get_observer [0.082517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00196_third_party_admin_cannot_delete_vifs [0.203375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00032_owner_member_can_patch_all_the_things [0.286067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00298_chassis_chassis_id_delete_member [0.093785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00121_lessee_member_cannot_set_raid_config [0.226023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00201_lessee_reader_not_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00300_node_history_get_admin [0.145059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aac14781-c702-46c2-a884-df67c03b6db1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aac14781-c702-46c2-a884-df67c03b6db1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0316a621-19c2-4280-92d1-5dedca046b89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0316a621-19c2-4280-92d1-5dedca046b89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac5c2214-a2cf-447c-9f14-a5fb81fc1546 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac5c2214-a2cf-447c-9f14-a5fb81fc1546 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b278203-b4dc-439e-9252-41f99ee5aca7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b278203-b4dc-439e-9252-41f99ee5aca7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df44d71e-f3bb-453f-b58d-c8567cf4af3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df44d71e-f3bb-453f-b58d-c8567cf4af3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc92da42-96b6-4659-8748-5cd32dd8d233 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc92da42-96b6-4659-8748-5cd32dd8d233 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bab98d7-3a34-4e58-a389-4c91df7392ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7bab98d7-3a34-4e58-a389-4c91df7392ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea430f6f-cf3a-4e6a-82f0-615e5b136a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea430f6f-cf3a-4e6a-82f0-615e5b136a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light None{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00203_lessee_member_cannot_set_indicator [0.180859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00003_lessee_admin_cannot_post_nodes [0.109088s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa3ee4ff-a5de-4027-bbd6-662a83aa1e0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-18T10:51:31.773746+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": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0b42010-2ad5-4d25-b19a-7e764acea03c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0b42010-2ad5-4d25-b19a-7e764acea03c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3e1e268-22b5-48e6-b7a3-a92944bca06a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3e1e268-22b5-48e6-b7a3-a92944bca06a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1449fa3a-0c33-4b4f-a83c-451bda70af09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1449fa3a-0c33-4b4f-a83c-451bda70af09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d28abc7b-e0e5-4d9f-80fd-27633291fe44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d28abc7b-e0e5-4d9f-80fd-27633291fe44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'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'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bc624b3-3089-4df6-bf70-f39bd048734b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bc624b3-3089-4df6-bf70-f39bd048734b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/lessee', 'value': '198566a5-a609-4463-9800-e8920be7c2fa'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d27ac0d-e39e-410c-a6e2-6ae1e39c263f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00033_owner_member_can_change_lessee [0.363803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00128_lessee_reader_cannot_get_console [0.311027s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00004_third_party_admin_cannot_post_nodes [0.142142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00042_lessee_member_cannot_patch_network_data [0.220495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00204_third_party_admin_cannot_set_indicator [0.244421s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0810be2d-7698-4e35-961c-461c64607556 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0810be2d-7698-4e35-961c-461c64607556 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efd0bee4-9d03-4e44-9f69-a62248399106 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efd0bee4-9d03-4e44-9f69-a62248399106 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-388a5d7d-2f60-4fac-8905-3146dade3585 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-388a5d7d-2f60-4fac-8905-3146dade3585 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f676d6c-4534-4483-a080-ec08f89b18f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f676d6c-4534-4483-a080-ec08f89b18f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-868a1815-eb4a-4515-844e-fba1a6ee0f84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-868a1815-eb4a-4515-844e-fba1a6ee0f84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac5649df-28fb-4678-91b3-3c916a827fd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac5649df-28fb-4678-91b3-3c916a827fd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee0db7c2-2ae0-4dd9-b237-e0fbe9d12259 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee0db7c2-2ae0-4dd9-b237-e0fbe9d12259 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72e5bb14-cca7-4768-bf5f-d2821104d931 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72e5bb14-cca7-4768-bf5f-d2821104d931 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aea2e19e-df20-4fcc-bc9e-9ac5daa626cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00144_lessee_member_cannot_get_vendor_passthru [0.203461s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e87a3098-07a6-4d0b-86c9-74d76cc196c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:33.184585+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"}]]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e87a3098-07a6-4d0b-86c9-74d76cc196c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:33.184585+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"}]]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-854b7148-73f6-4db9-907b-38d852e13ca8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:33.260623+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"}]]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-854b7148-73f6-4db9-907b-38d852e13ca8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:51:33.260623+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"}]]} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21772adb-6fe9-4667-bad6-242225b6eb54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21772adb-6fe9-4667-bad6-242225b6eb54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f99cf8e8-0ce8-4760-9642-14c64e583d41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "9c1558e4-3f09-48ba-9d16-2bda1fb2d654", "created_at": "2024-03-18T10:51:33.485836+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9c1558e4-3f09-48ba-9d16-2bda1fb2d654", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f99cf8e8-0ce8-4760-9642-14c64e583d41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "9c1558e4-3f09-48ba-9d16-2bda1fb2d654", "created_at": "2024-03-18T10:51:33.485836+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9c1558e4-3f09-48ba-9d16-2bda1fb2d654", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fb6a710-c091-4b7b-ba8a-3071d157a569 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fb6a710-c091-4b7b-ba8a-3071d157a569 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b529c275-76fb-447f-a595-3b9c729f4186 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b529c275-76fb-447f-a595-3b9c729f4186 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e66947c-db94-4ee0-99c6-3c25f7cf25be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "ee6d23bc-ea05-4df5-8805-0ce57b4c9a2c", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00007_owner_admin_can_get_node [0.118063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00008_owner_member_can_get_node [0.102801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00043_lessee_member_cannot_patch_name [0.240871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00208_owner_reader_can_read_portgroup [0.235696s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e66947c-db94-4ee0-99c6-3c25f7cf25be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "ee6d23bc-ea05-4df5-8805-0ce57b4c9a2c", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36d6e420-a47e-4808-b1a9-a1beeaeee7b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "1578f58b-bebd-4e7b-8cef-a4174de2ac65", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36d6e420-a47e-4808-b1a9-a1beeaeee7b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "1578f58b-bebd-4e7b-8cef-a4174de2ac65", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1aae0adc-e4fe-4a81-b809-bda4b9f8094e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-18T10:51:34.128439+00:00", "updated_at": "2024-03-18T10:51:34.139624+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": {"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, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "64ddd023-9ed5-475b-80ce-686ce61ceedf", "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", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "64ddd023-9ed5-475b-80ce-686ce61ceedf", "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"}]} DEBUG util.py:445: last_error DEBUG util.py:445: ** Value Redacted - Requires baremetal:node:get:last_error permission. ** DEBUG util.py:445: reservation DEBUG util.py:445: ** Redacted - requires baremetal:node:get:reservation permission. ** DEBUG util.py:445: driver_internal_info DEBUG util.py:445: {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'} DEBUG util.py:445: driver_info DEBUG util.py:445: {'content': '** Redacted - requires baremetal:node:get:driver_info permission. **'} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1aae0adc-e4fe-4a81-b809-bda4b9f8094e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-03-18T10:51:34.128439+00:00", "updated_at": "2024-03-18T10:51:34.139624+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": {"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, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "64ddd023-9ed5-475b-80ce-686ce61ceedf", "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", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "64ddd023-9ed5-475b-80ce-686ce61ceedf", "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.api.test_acl.TestRBACProjectScoped.test_project_scoped_00020_lessee_reader_cannot_get_restricted_fields [0.089154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00147_owner_member_cannot_post_vendor_passthru [0.223263s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5abce04c-894b-453d-9c04-f82c0932c587 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-18T10:51:34.241585+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": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "2024-03-18T10:51:34.251424+00:00", "updated_at": "2024-03-18T10:51:34.259408+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", "traits": []}, "instance_uuid": "a514cbf4-cbe8-4694-b6a7-594a657ac60d", "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", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "a514cbf4-cbe8-4694-b6a7-594a657ac60d", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5abce04c-894b-453d-9c04-f82c0932c587 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-03-18T10:51:34.241585+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": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "2024-03-18T10:51:34.251424+00:00", "updated_at": "2024-03-18T10:51:34.259408+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", "traits": []}, "instance_uuid": "a514cbf4-cbe8-4694-b6a7-594a657ac60d", "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", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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, "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": "a514cbf4-cbe8-4694-b6a7-594a657ac60d", "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.api.test_acl.TestRBACProjectScoped.test_project_scoped_00021_owner_reader_can_get_detail [0.123755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00044_lessee_member_cannot_patch_retired [0.236962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00215_third_party_admin_cannot_add_portgroup [0.225298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00150_lessee_member_cannot_post_vendor_passthru [0.192684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00047_owner_reader_can_patch_node_instance_info [0.078953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00026_owner_reader_cannot_patch_node_extra [0.198644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00228_third_party_admin_cannot_get_portgroups [0.154043s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00054_third_party_admin_cannot_delete_nodes [0.071422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00066_lessee_admin_can_unset_maintenance [0.081683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00153_owner_member_cannot_put_vendor_passthru [0.269167s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00229_owner_reader_can_list_ports [0.164755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00080_lessee_reader_cannot_get_boot_device [0.078947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00029_lessee_reader_cannot_patch_node_extra [0.284813s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d27ac0d-e39e-410c-a6e2-6ae1e39c263f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dfa797d-bd5c-4149-b3f8-6f678fa28fdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dfa797d-bd5c-4149-b3f8-6f678fa28fdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eb231be-5195-4d37-9b71-7156eb63a30f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eb231be-5195-4d37-9b71-7156eb63a30f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b28b2c05-31ab-408e-9c0c-68bfef26677c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b28b2c05-31ab-408e-9c0c-68bfef26677c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4a2ab0d-ed1b-4e03-87b4-012ce4900b2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4a2ab0d-ed1b-4e03-87b4-012ce4900b2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e0fb716-e0d6-4dc0-b7c4-c36d1a00f9e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e0fb716-e0d6-4dc0-b7c4-c36d1a00f9e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1aab2e96-184d-4329-9e44-0e590af9f8c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1aab2e96-184d-4329-9e44-0e590af9f8c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-746348be-360b-477b-b6e1-dfe2a81d74bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-746348be-360b-477b-b6e1-dfe2a81d74bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58419aef-d8de-475c-84e1-f59bd3a61c51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58419aef-d8de-475c-84e1-f59bd3a61c51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00083_owner_member_cannot_get_supported_boot_devices [0.072754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00085_third_party_admin_cannot_get_supported_boot_devices [0.075024s] ... ok DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7134556b-ad7d-421b-ab1c-a2e699003498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7134556b-ad7d-421b-ab1c-a2e699003498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/component/magic_light DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/component/magic_light None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ddd059cd-fd7e-44a9-bae2-99d644a964df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ddd059cd-fd7e-44a9-bae2-99d644a964df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77c089bc-752e-4d11-9966-5e0eb5e8a637 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-03-18T10:51:33.975371+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, "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77c089bc-752e-4d11-9966-5e0eb5e8a637 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-03-18T10:51:33.975371+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, "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "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"}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-827d8788-0aec-4120-9959-8714efedbe08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-827d8788-0aec-4120-9959-8714efedbe08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dedf4a2d-1be6-4d2f-9a52-4a1cdf558c6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dedf4a2d-1be6-4d2f-9a52-4a1cdf558c6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fd003fa-9dd0-4227-8b04-fa320985278e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fd003fa-9dd0-4227-8b04-fa320985278e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00234_third_party_admin_cannot_read_port [0.212598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00162_lessee_member_cannot_delete_vendor_passthru [0.307686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00236_owner_admin_cannot_add_ports_to_other_nodes [0.183465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00086_owner_admin_can_send_non_masking_interrupt [0.277528s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00046_owner_member_can_patch_node_instance_info [0.363012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00165_lessee_reader_get_traits [0.232943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00237_owner_member_cannot_add_port [0.169746s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00087_lessee_admin_cannot_send_non_masking_interrupt [0.173816s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00089_owner_reader_get_states [0.072082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00053_lessee_admin_cannot_delete_nodes [0.231715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00166_third_party_admin_cannot_get_traits [0.235924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00091_third_part_admin_cannot_get_states [0.073075s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00239_lessee_member_cannot_add_port [0.204583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00097_lessee_reader_cannot_put_power_state_change [0.077903s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00101_owner_member_can_put_boot_mode_state_change [0.075345s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00059_third_party_admin_cannot_validate_node [0.215658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00167_owner_admin_can_put_traits [0.185127s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00240_third_party_admin_cannot_add_port [0.196457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00103_owner_reader_cannot_put_boot_mode_state_change [0.083857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00065_owner_admin_can_unset_maintenance [0.180857s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edacf696-55c2-4d51-aebd-c0b82fa700bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edacf696-55c2-4d51-aebd-c0b82fa700bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46e5b076-08ff-4ff2-b32d-460f8880edd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46e5b076-08ff-4ff2-b32d-460f8880edd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5db43d9-01d3-4464-8c6f-3935c02d4c80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5db43d9-01d3-4464-8c6f-3935c02d4c80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b41ff55-6cd6-4e7c-a64a-d6fdffd580ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b41ff55-6cd6-4e7c-a64a-d6fdffd580ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c10703c-a561-42c1-af8f-c6f84c4f5d61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c10703c-a561-42c1-af8f-c6f84c4f5d61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4c20a46-14b4-401b-a9a5-1ad17e58de2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4c20a46-14b4-401b-a9a5-1ad17e58de2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61511d73-efbe-48b6-a453-1a371bc6883e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61511d73-efbe-48b6-a453-1a371bc6883e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aca26349-29f1-41d8-bdde-3da6bcbd0bc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aca26349-29f1-41d8-bdde-3da6bcbd0bc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00105_third_party_admin_cannot_put_boot_mode_state_change [0.075900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00108_owner_member_can_put_secure_boot_state_change [0.100461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00170_lessee_member_cannot_put_traits [0.200954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00243_lessee_admin_cannot_modify_port [0.219947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00069_third_party_admin_cannot_unset_maintenance [0.151294s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aea2e19e-df20-4fcc-bc9e-9ac5daa626cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11280e0e-8305-4f1f-99d4-21d79f00e328 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11280e0e-8305-4f1f-99d4-21d79f00e328 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01fb9b35-ea64-4396-af6b-a07f5d99ef2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01fb9b35-ea64-4396-af6b-a07f5d99ef2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa44a001-296a-4d00-b659-03fe3150ca2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa44a001-296a-4d00-b659-03fe3150ca2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a4ef258-9784-4188-9ed3-24fbe31a735a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a4ef258-9784-4188-9ed3-24fbe31a735a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cefb56e-97f6-43c5-8d48-f10d5ccecf4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cefb56e-97f6-43c5-8d48-f10d5ccecf4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1720312d-5870-44b8-bc1e-3924f24f849b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1720312d-5870-44b8-bc1e-3924f24f849b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e289a099-479b-469f-918d-366c2ac5729d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e289a099-479b-469f-918d-366c2ac5729d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1136b87e-9a03-4212-b71e-4cc2ad06ac91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1136b87e-9a03-4212-b71e-4cc2ad06ac91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00176_third_party_admin_cannot_delete_traits [0.153380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00111_lessee_reader_cannot_put_secure_boot_state_change [0.135470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00248_lessee_admin_cannot_delete_port [0.194237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00116_lessee_member_cannot_change_provision_state [0.141022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00071_lessee_admin_cannot_set_boot_device [0.183589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00180_lessee_member_cannot_put_custom_traits [0.181560s] ... ok DEBUG util.py:445: GET: /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5721e3f6-ea73-4d95-bcf6-aec859ec233a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port abfd8dbb-1732-449a-b760-2224035c6b99 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5721e3f6-ea73-4d95-bcf6-aec859ec233a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port abfd8dbb-1732-449a-b760-2224035c6b99 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '573208e5-cd41-4e26-8f06-ef44022b3793', 'address': '09:01:02:03:04:09'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91ee0d63-132f-4508-906a-b019333f7570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91ee0d63-132f-4508-906a-b019333f7570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be872926-e34b-46fc-b68a-393f52ae089a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be872926-e34b-46fc-b68a-393f52ae089a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0808bb0e-03cc-45ef-8a35-60c726d27a3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0808bb0e-03cc-45ef-8a35-60c726d27a3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cc1ca23-129b-426b-808c-b4da8a12071b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cc1ca23-129b-426b-808c-b4da8a12071b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ef9f6dd-9161-4b3e-a8ed-5548750f26b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ef9f6dd-9161-4b3e-a8ed-5548750f26b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94aa9a53-dfe6-40fa-b420-ad296ce7e057 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94aa9a53-dfe6-40fa-b420-ad296ce7e057 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3adabdb-d391-45fe-b4cc-e0a70a8957ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3adabdb-d391-45fe-b4cc-e0a70a8957ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00257_owner_reader_can_list_volume_connectors [0.193886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00118_owner_admin_can_set_raid_config [0.107871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00186_lessee_admin_can_post_vifs [0.172457s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c1e4db3-7b05-4785-bd0e-236f9ac704ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c1e4db3-7b05-4785-bd0e-236f9ac704ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d38a2094-8b34-44c4-84fd-e62aacd4211b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d38a2094-8b34-44c4-84fd-e62aacd4211b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ffc8925-c10a-4f89-9895-ba3a66c84baa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ffc8925-c10a-4f89-9895-ba3a66c84baa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d8f6f4b-4e63-44a6-95c2-005334e09e8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d8f6f4b-4e63-44a6-95c2-005334e09e8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccad13de-5b58-4a02-a138-7ff6f585b255 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccad13de-5b58-4a02-a138-7ff6f585b255 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-129174cc-cb9f-4a02-9130-1830245867b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-129174cc-cb9f-4a02-9130-1830245867b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ec09110-f41a-4d2f-ac73-8f6d208813d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ec09110-f41a-4d2f-ac73-8f6d208813d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e457e3f2-f4d9-4838-bfbc-95500058a2dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e457e3f2-f4d9-4838-bfbc-95500058a2dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-750afd7b-d48d-49ce-ad3b-4d9f86ec0ec9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00075_owner_admin_can_get_boot_device [0.177316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00120_owner_member_can_set_raid_config [0.130843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00264_lessee_reader_can_get_volume_connector [0.199892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00076_lessee_admin_cannot_get_boot_device [0.197647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00192_owner_admin_delete_vifs [0.198363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00124_lessee_admin_cannot_get_console [0.165121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00265_third_party_admin_cannot_get_volume_connector [0.157439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00200_owner_reader_can_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00077_owner_member_cannot_get_boot_device [0.182301s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00130_owner_admin_can_set_console [0.168812s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00266_lessee_member_cannot_patch_volume_connectors [0.192555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00202_owner_member_can_set_indicator [0.196510s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00081_third_party_admin_cannot_get_boot_device [0.210633s] ... ok DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e2a384b-216f-4b62-bf9b-abb1b6286a78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e2a384b-216f-4b62-bf9b-abb1b6286a78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb6aaf24-33df-4810-aa38-806aeedcda58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb6aaf24-33df-4810-aa38-806aeedcda58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-714bf7f5-b652-4855-a4cd-90ce78f2bb47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-714bf7f5-b652-4855-a4cd-90ce78f2bb47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1cd0e0c-9d6a-47eb-942e-41444b135c55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1cd0e0c-9d6a-47eb-942e-41444b135c55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-108cbed0-7d14-4b20-aba9-08b93b1afb8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-108cbed0-7d14-4b20-aba9-08b93b1afb8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff276e79-e9a5-4c51-bca3-2e233604a444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff276e79-e9a5-4c51-bca3-2e233604a444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee0a0cd3-f98b-40a7-8e0e-a2775f2b5834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee0a0cd3-f98b-40a7-8e0e-a2775f2b5834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-546923f6-fc12-4976-a58b-339c3e6ef596 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-546923f6-fc12-4976-a58b-339c3e6ef596 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab2db06b-22c2-4910-9746-ca6e4ec048f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_00134_owner_admin_cannot_get_vendor_passthru_methods [0.099722s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00135_owner_member_cannot_get_vendor_passthru_methods [0.078297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00267_owner_admin_can_patch_volume_connectors [0.215560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00136_owner_reader_cannot_get_vendor_passthru_methods [0.071375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00141_owner_member_cannot_get_vendor_passthru [0.066767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00205_owner_reader_can_list_portgroups [0.271135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00270_third_party_admin_cannot_patch_volume_connectors [0.156954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00146_owner_admin_cannot_post_vendor_passthru [0.104014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00084_lessee_admin_cannot_get_supported_boot_devices [0.293373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00149_lessee_admin_cannot_post_vendor_passthru [0.074920s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00151_lessee_reader_cannot_post_vendor_passthru [0.071589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00276_third_party_admin_cannot_get_target_list [0.167061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00155_lessee_admin_cannot_put_vendor_passthru [0.082016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00093_lessee_admin_can_put_power_state_change [0.225305s] ... ok DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2e1b479-c74c-4c28-8350-14297d62a834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2e1b479-c74c-4c28-8350-14297d62a834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1af2c976-cd21-4991-933a-1e75d3f94635 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1af2c976-cd21-4991-933a-1e75d3f94635 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b84198f-67e0-420f-92ed-7585835e499d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b84198f-67e0-420f-92ed-7585835e499d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e45c01ba-0426-4b86-b505-abb4375d4197 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e45c01ba-0426-4b86-b505-abb4375d4197 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators/component/magic_light DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators/component/magic_light None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e89672bd-aee5-423f-b4f9-4d66b0121c58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e89672bd-aee5-423f-b4f9-4d66b0121c58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-418ba89a-f13a-4e80-b90c-6deae030b2b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-418ba89a-f13a-4e80-b90c-6deae030b2b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61 DEBUG util.py:445: Openstack-Request-Id: req-69ae03c5-65c0-4ad8-9c60-93d908116447 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4e7b085b-dee8-4b5d-9893-c363f1f1db61", "created_at": "2024-03-18T10:51:37.418598+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61", "rel": "self"}, {"href": "http://localhost/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61/ports", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61 DEBUG util.py:445: Openstack-Request-Id: req-69ae03c5-65c0-4ad8-9c60-93d908116447 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4e7b085b-dee8-4b5d-9893-c363f1f1db61", "created_at": "2024-03-18T10:51:37.418598+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61", "rel": "self"}, {"href": "http://localhost/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4e7b085b-dee8-4b5d-9893-c363f1f1db61/ports", "rel": "bookmark"}]}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00211_owner_admin_can_add_portgroup [0.317308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00278_lessee_reader_can_get_volume_target [0.201698s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab2db06b-22c2-4910-9746-ca6e4ec048f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77d78ae2-4558-49de-bb5b-a694635645cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77d78ae2-4558-49de-bb5b-a694635645cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fb48947-3248-44e5-9844-080e2d392d53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fb48947-3248-44e5-9844-080e2d392d53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1607af8b-5c4a-456f-91e3-8ea0c253df92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1607af8b-5c4a-456f-91e3-8ea0c253df92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2650770f-873c-44b1-8a56-312540ca81a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2650770f-873c-44b1-8a56-312540ca81a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b063756-0f61-4d5e-8525-c75fa7d62a27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b063756-0f61-4d5e-8525-c75fa7d62a27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c574f77-3c7d-47fc-b8b0-2c34d5629dbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c574f77-3c7d-47fc-b8b0-2c34d5629dbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25b9e7ed-c705-4644-aef8-7b6e8c51b6e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25b9e7ed-c705-4644-aef8-7b6e8c51b6e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaeadf3c-100f-45db-a68c-1b60eddc6f35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00156_lessee_member_cannot_put_vendor_passthru [0.074502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00159_owner_member_cannot_delete_vendor_passthru [0.092803s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68298a80-34a1-4fbd-b728-d5a2fc6cd757 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:36.368343+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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68298a80-34a1-4fbd-b728-d5a2fc6cd757 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:36.368343+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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bd42431-bf9f-4740-b1e2-45e32f12b0ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bd42431-bf9f-4740-b1e2-45e32f12b0ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b66bc08-7807-47a2-83d2-34dc229b9d5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b66bc08-7807-47a2-83d2-34dc229b9d5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-758d59c9-6828-4bd8-a214-32f77f7f1be0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-758d59c9-6828-4bd8-a214-32f77f7f1be0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce9f96cd-3807-4493-be38-59f96c46e65e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce9f96cd-3807-4493-be38-59f96c46e65e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27c4dd4d-eb69-4fec-8d86-fbaa7b0f92fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27c4dd4d-eb69-4fec-8d86-fbaa7b0f92fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2a83621-a494-49f8-80f7-56f9bd36da8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:37.405663+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2a83621-a494-49f8-80f7-56f9bd36da8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:37.405663+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00279_third_party_admin_cannot_get_volume_target [0.132807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00213_lessee_admin_cannot_add_portgroup [0.279479s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00161_lessee_admin_cannot_delete_vendor_passthru [0.180935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00094_owner_member_can_put_power_state_change [0.224607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00293_lessee_reader_can_get_node_volume_connectors [0.112411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00217_owner_member_cannot_modify_portgroup [0.178772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00296_lessee_reader_can_get_node_volume_targets [0.099889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00169_lessee_admin_cannot_put_traits [0.165675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00095_lessee_member_can_put_power_state_change [0.196470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00297_third_part_admin_cannot_read_node_volume_targets [0.146893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00177_owner_admin_can_put_custom_traits [0.146798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00299_lessee_reader_cannot_get_drivers [0.122771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00178_owner_member_cannot_put_custom_traits [0.149560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00232_owner_reader_can_read_port [0.298743s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-750afd7b-d48d-49ce-ad3b-4d9f86ec0ec9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a784e7f-03ab-4d6f-99af-25e8b020b9fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a784e7f-03ab-4d6f-99af-25e8b020b9fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bfe7bd4-d675-4658-a225-5b49a18b0511 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bfe7bd4-d675-4658-a225-5b49a18b0511 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a32ab0c6-cdb4-4056-a865-ec450b5e2c6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a32ab0c6-cdb4-4056-a865-ec450b5e2c6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca4906b0-dcbf-4f08-89c5-cfbf8efcabbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca4906b0-dcbf-4f08-89c5-cfbf8efcabbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e97f0457-03a0-45c8-8a7d-6298eb7ae44b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e97f0457-03a0-45c8-8a7d-6298eb7ae44b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0642c16e-2b1a-4dee-956f-321d856aaf8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0642c16e-2b1a-4dee-956f-321d856aaf8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c7f4c12-6aa7-43fc-a3f6-0baed4be1579 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c7f4c12-6aa7-43fc-a3f6-0baed4be1579 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-976284eb-7ba2-465d-92e4-a672f39f0a79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-976284eb-7ba2-465d-92e4-a672f39f0a79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00096_owner_reader_cannot_put_power_state_change [0.208011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00311_lessee_reader_can_get_allocations [0.144395s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00182_owner_reader_get_vifs [0.150122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00233_lessee_reader_can_read_port [0.230368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00104_lessee_reader_cannot_put_boot_mode_state_change [0.322206s] ... ok DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c3a2858-592e-4b2f-8b48-b0d389bdf2c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c3a2858-592e-4b2f-8b48-b0d389bdf2c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffd9b885-8b40-4932-8436-872d2e769243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffd9b885-8b40-4932-8436-872d2e769243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d4143af-cce3-461e-88bb-bc003b6ac228 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d4143af-cce3-461e-88bb-bc003b6ac228 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8eb0111-bee7-4ee1-ab86-5ef23c7f0bc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8eb0111-bee7-4ee1-ab86-5ef23c7f0bc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26a93298-98c0-41ca-9068-0321ff2851a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26a93298-98c0-41ca-9068-0321ff2851a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1542bd9b-4a94-43c0-a744-8af12fadb3d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "f207640a-859d-4717-ae2f-570e5b3a7e19", "created_at": "2024-03-18T10:51:38.262469+00:00", "updated_at": "2024-03-18T10:51:38.264119+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/f207640a-859d-4717-ae2f-570e5b3a7e19", "rel": "self"}, {"href": "http://localhost/allocations/f207640a-859d-4717-ae2f-570e5b3a7e19", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1542bd9b-4a94-43c0-a744-8af12fadb3d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "f207640a-859d-4717-ae2f-570e5b3a7e19", "created_at": "2024-03-18T10:51:38.262469+00:00", "updated_at": "2024-03-18T10:51:38.264119+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/f207640a-859d-4717-ae2f-570e5b3a7e19", "rel": "self"}, {"href": "http://localhost/allocations/f207640a-859d-4717-ae2f-570e5b3a7e19", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/f2493ae8-e521-4fe3-b0e9-a7fe343e59cc DEBUG util.py:445: GET: /v1/allocations/f2493ae8-e521-4fe3-b0e9-a7fe343e59cc {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f24c235b-a8fe-4f51-b9a7-04fb66f9abfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "f2493ae8-e521-4fe3-b0e9-a7fe343e59cc", "created_at": "2024-03-18T10:51:38.386990+00:00", "updated_at": "2024-03-18T10:51:38.388739+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/f2493ae8-e521-4fe3-b0e9-a7fe343e59cc", "rel": "self"}, {"href": "http://localhost/allocations/f2493ae8-e521-4fe3-b0e9-a7fe343e59cc", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00313_lessee_reader_can_get_their_allocation [0.133866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00183_lessee_reader_get_vifs [0.132945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00314_owner_admin_can_delete_their_allocation [0.130543s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaeadf3c-100f-45db-a68c-1b60eddc6f35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7e1102e-c9d4-4a22-aae5-f7d7ab34acec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7e1102e-c9d4-4a22-aae5-f7d7ab34acec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e939be00-7303-4026-8586-58ea51ae8242 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e939be00-7303-4026-8586-58ea51ae8242 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6cccee3-2d03-4bc1-b4e8-04a9c29fd733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6cccee3-2d03-4bc1-b4e8-04a9c29fd733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-324ed014-e70b-41a4-abe6-d7d92bfe40da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-324ed014-e70b-41a4-abe6-d7d92bfe40da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f97aa9d6-6fab-4f50-88e7-bede591e1aa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f97aa9d6-6fab-4f50-88e7-bede591e1aa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f87bd4e-60e6-4ace-82b2-07b37c21a4cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f87bd4e-60e6-4ace-82b2-07b37c21a4cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28807214-6c71-466f-98e6-047bd89c065e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28807214-6c71-466f-98e6-047bd89c065e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c786919-1f83-4d7a-8996-9c73cf950215 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c786919-1f83-4d7a-8996-9c73cf950215 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_00188_lessee_member_cannot_post_vifs [0.076064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00245_third_party_admin_cannot_modify_port [0.279072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00190_lessee_reader_cannot_post_vifs [0.139850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00106_owner_admin_can_put_secure_boot_state_change [0.252801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00316_owner_member_can_delete_their_allocation [0.165372s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00319_lessee_member_can_patch_allocation [0.104579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00194_owner_member_can_delete_vifs [0.138967s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00107_lessee_admin_can_put_secure_boot_state_change [0.173123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00249_lessee_member_cannot_delete_port [0.197925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00322_third_party_admin_cannot_create_allocation_with_owner_node [0.141564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00197_owner_readers_can_get_indicators [0.148644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00109_lessee_member_can_put_secure_boot_state_change [0.185435s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41dabc6c-52b2-41e1-80fd-102da8e4b0d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41dabc6c-52b2-41e1-80fd-102da8e4b0d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42369b71-838b-4b31-b07f-0a742c177e68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42369b71-838b-4b31-b07f-0a742c177e68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: GET: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb9c152e-b917-402a-8cf9-d06f43d94999 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-03-18T10:51:37.988014+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, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "portgroup_uuid": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb9c152e-b917-402a-8cf9-d06f43d94999 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-03-18T10:51:37.988014+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, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "portgroup_uuid": null} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b17eede-276a-4464-82ca-97a594004f80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:38.306693+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "portgroup_uuid": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b17eede-276a-4464-82ca-97a594004f80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:38.306693+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "portgroup_uuid": null} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3032d8c6-c4c1-4b58-b54c-42f554bba9fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3032d8c6-c4c1-4b58-b54c-42f554bba9fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9864b52e-09e1-4083-b626-5460b70a2e7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9864b52e-09e1-4083-b626-5460b70a2e7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1dc7d660-9db1-40aa-a937-f7a03ca9d668 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00250_third_party_admin_cannot_delete_port [0.137092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00252_lessee_reader_can_get_node_port [0.078004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00198_lesse_readers_can_get_indicators [0.148535s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00324_owner_admin_can_create_allocation_with_their_uuid [0.178721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00254_owner_reader_can_get_ports_by_portgroup [0.080180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00117_third_party_admin_cannot_change_provision_state [0.176959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00199_third_party_admin_cannot_get_indicators [0.150962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00258_lessee_reader_can_list_volume_connectors [0.131185s] ... ok DEBUG util.py:445: resource_class DEBUG util.py:445: CUSTOM_LEASED DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f24c235b-a8fe-4f51-b9a7-04fb66f9abfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "f2493ae8-e521-4fe3-b0e9-a7fe343e59cc", "created_at": "2024-03-18T10:51:38.386990+00:00", "updated_at": "2024-03-18T10:51:38.388739+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/f2493ae8-e521-4fe3-b0e9-a7fe343e59cc", "rel": "self"}, {"href": "http://localhost/allocations/f2493ae8-e521-4fe3-b0e9-a7fe343e59cc", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/a7e3ab2e-068b-43ad-a35e-1ff987dd3066 DEBUG util.py:445: DELETE: /v1/allocations/a7e3ab2e-068b-43ad-a35e-1ff987dd3066 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d773538d-4e17-43c6-848e-b180d9ed0577 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d773538d-4e17-43c6-848e-b180d9ed0577 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/a1c862a2-27a5-491f-be0d-ebe5bfa39463 DEBUG util.py:445: DELETE: /v1/allocations/a1c862a2-27a5-491f-be0d-ebe5bfa39463 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b9d8153-cf3a-4a42-91f6-2bf0b6df06a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b9d8153-cf3a-4a42-91f6-2bf0b6df06a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/cc3e273b-03dd-493d-a2d0-6b4a37cb5d9a DEBUG util.py:445: PATCH: /v1/allocations/cc3e273b-03dd-493d-a2d0-6b4a37cb5d9a [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b24b2e9-23c1-4e3e-a27b-4f782ccf34de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "cc3e273b-03dd-493d-a2d0-6b4a37cb5d9a", "created_at": "2024-03-18T10:51:38.784308+00:00", "updated_at": "2024-03-18T10:51:38.836032+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/cc3e273b-03dd-493d-a2d0-6b4a37cb5d9a", "rel": "self"}, {"href": "http://localhost/allocations/cc3e273b-03dd-493d-a2d0-6b4a37cb5d9a", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b24b2e9-23c1-4e3e-a27b-4f782ccf34de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "cc3e273b-03dd-493d-a2d0-6b4a37cb5d9a", "created_at": "2024-03-18T10:51:38.784308+00:00", "updated_at": "2024-03-18T10:51:38.836032+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/cc3e273b-03dd-493d-a2d0-6b4a37cb5d9a", "rel": "self"}, {"href": "http://localhost/allocations/cc3e273b-03dd-493d-a2d0-6b4a37cb5d9a", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f56b4f5f-2a9c-4d9b-a72b-1d04796a5f5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f56b4f5f-2a9c-4d9b-a72b-1d04796a5f5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9130495c-70e9-463d-8f0a-74ddbc2d8959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9130495c-70e9-463d-8f0a-74ddbc2d8959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab412845-f142-4d6b-a40e-72649318d753 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "fb561118-7b8f-48bb-bfd5-ab71dad0bf9f", "created_at": "2024-03-18T10:51:39.269549+00:00", "updated_at": "2024-03-18T10:51:39.271237+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/fb561118-7b8f-48bb-bfd5-ab71dad0bf9f", "rel": "self"}, {"href": "http://localhost/allocations/fb561118-7b8f-48bb-bfd5-ab71dad0bf9f", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab412845-f142-4d6b-a40e-72649318d753 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "fb561118-7b8f-48bb-bfd5-ab71dad0bf9f", "created_at": "2024-03-18T10:51:39.269549+00:00", "updated_at": "2024-03-18T10:51:39.271237+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/fb561118-7b8f-48bb-bfd5-ab71dad0bf9f", "rel": "self"}, {"href": "http://localhost/allocations/fb561118-7b8f-48bb-bfd5-ab71dad0bf9f", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00329_lessee_reader_can_read_node_allocation [0.173002s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00207_third_party_admin_cannot_list_portgroups [0.162875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00330_third_party_admin_cannot_read_node_allocation [0.153415s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00260_owner_admin_can_post_volume_connector [0.213198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00332_lessee_admin_can_delete_allocation [0.080653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00209_lessee_reader_can_read_portgroup [0.165701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00335_lessee_reader_cannot_get_deploy_templates [0.087146s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00340_third_party_admin_cannot_access_chassis [0.071127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00268_lessee_admin_cannot_patch_volume_connectors [0.226383s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca64fb31-a44d-448b-a0ee-7f626910e22c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca64fb31-a44d-448b-a0ee-7f626910e22c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3bbfb46-ccc6-4600-9342-3806f703fef4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3bbfb46-ccc6-4600-9342-3806f703fef4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea7c98f5-428d-49a7-a4c6-8be5bebec111 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea7c98f5-428d-49a7-a4c6-8be5bebec111 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52576799-cd3b-4cf5-bf08-8bd4d39db6b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52576799-cd3b-4cf5-bf08-8bd4d39db6b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35ab079b-8869-46a2-9ce5-5b06b8e14d25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35ab079b-8869-46a2-9ce5-5b06b8e14d25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-030a62ff-0978-42a2-bccd-b26f12b46ea0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-030a62ff-0978-42a2-bccd-b26f12b46ea0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce6f50c8-15a6-4e77-a8bb-6fd904915a72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:39.553888+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce6f50c8-15a6-4e77-a8bb-6fd904915a72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:51:39.553888+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "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"}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a807e84b-297c-4668-b2a1-5db22f2e2b05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_00212_owner_member_cannot_add_portgroup [0.150405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00122_third_party_admin_cannot_set_raid_config [0.556806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00342_node_history_get_admin [0.170541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00214_lessee_member_cannot_add_portgroup [0.169677s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00271_owner_admin_can_delete_volume_connectors [0.192558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00123_owner_admin_can_get_console [0.158995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00343_node_history_get_member [0.185742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00125_owner_member_can_get_console [0.144076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00219_lessee_member_cannot_modify_portgroup [0.142678s] ... ok DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1dc7d660-9db1-40aa-a937-f7a03ca9d668 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a502c56d-9559-4b96-ad99-9533cd062fdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a502c56d-9559-4b96-ad99-9533cd062fdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports DEBUG util.py:445: GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-205604c3-6337-4790-8564-72bc0f93c365 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-205604c3-6337-4790-8564-72bc0f93c365 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-100dd09a-4547-4c1a-ba7c-34f653df33a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-100dd09a-4547-4c1a-ba7c-34f653df33a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/b8dfc443-9e95-43c8-b5cd-110b5fd92276 DEBUG util.py:445: Openstack-Request-Id: req-7c6baab3-56c1-4ca4-a855-ac2998a42a5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b8dfc443-9e95-43c8-b5cd-110b5fd92276", "created_at": "2024-03-18T10:51:39.536036+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b8dfc443-9e95-43c8-b5cd-110b5fd92276", "rel": "self"}, {"href": "http://localhost/volume/connectors/b8dfc443-9e95-43c8-b5cd-110b5fd92276", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/b8dfc443-9e95-43c8-b5cd-110b5fd92276 DEBUG util.py:445: Openstack-Request-Id: req-7c6baab3-56c1-4ca4-a855-ac2998a42a5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b8dfc443-9e95-43c8-b5cd-110b5fd92276", "created_at": "2024-03-18T10:51:39.536036+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b8dfc443-9e95-43c8-b5cd-110b5fd92276", "rel": "self"}, {"href": "http://localhost/volume/connectors/b8dfc443-9e95-43c8-b5cd-110b5fd92276", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db6b3276-faa8-4e16-8409-d7ec95eabae3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db6b3276-faa8-4e16-8409-d7ec95eabae3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41f2a1dd-611f-4d75-ac5f-3b366fc055bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41f2a1dd-611f-4d75-ac5f-3b366fc055bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9d7addd-2024-4c7f-9ecc-2f794d1c4275 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00274_owner_reader_can_get_targets [0.126022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00275_lesse_reader_can_get_targets [0.081337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00222_owner_member_cannot_delete_portgroup [0.162849s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00285_lessee_member_cannot_patch_volume_target [0.118133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00346_node_history_get_entry_member [0.235051s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4df787df-2849-4bbb-b0f5-9931efe550a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4df787df-2849-4bbb-b0f5-9931efe550a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e85e567-6c20-434f-b500-6b23d7add150 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e85e567-6c20-434f-b500-6b23d7add150 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b13f9dc8-956d-40cc-addd-183cc2df2470 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b13f9dc8-956d-40cc-addd-183cc2df2470 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9073c858-5ae1-4f32-9ba8-84676c1fd629 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9073c858-5ae1-4f32-9ba8-84676c1fd629 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77adae98-e382-44d6-8542-ec779a0717e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77adae98-e382-44d6-8542-ec779a0717e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f9df939-2bcc-4222-936d-22704dc5683b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f9df939-2bcc-4222-936d-22704dc5683b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d83fc5b-e581-492e-ad5e-8a6481ae7dd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d83fc5b-e581-492e-ad5e-8a6481ae7dd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2041bd1-c404-4d70-8697-1e6fe922fb38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2041bd1-c404-4d70-8697-1e6fe922fb38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdbfb673-23c0-4738-8223-ccff6896a22a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00131_lessee_admin_cannot_set_console [0.163650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00286_third_party_admin_cannot_patch_volume_target [0.101156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00132_owner_member_can_set_console [0.156936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00223_lessee_admin_cannot_delete_portgroup [0.197882s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00295_owner_reader_can_get_node_volume_targets [0.154540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00137_lessee_admin_cannot_get_vendor_passthru_methods [0.073541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00224_lessee_member_cannot_delete_portgroup [0.165759s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb4ee262-2c7c-4bdb-8785-2969b12d9bf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb4ee262-2c7c-4bdb-8785-2969b12d9bf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9affb15f-5712-4027-8cf0-fe9181dc116e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9affb15f-5712-4027-8cf0-fe9181dc116e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f47ed53-8c95-4946-a0cb-8f1683e6b933 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f47ed53-8c95-4946-a0cb-8f1683e6b933 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24d7d4e5-e2a0-4498-aec8-590ced380dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24d7d4e5-e2a0-4498-aec8-590ced380dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b778a62-91ae-4956-9265-f2dc2a505a35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "362c7909-f106-4b70-9d75-94e93437c67f", "created_at": "2024-03-18T10:51:39.821690+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/362c7909-f106-4b70-9d75-94e93437c67f", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b778a62-91ae-4956-9265-f2dc2a505a35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "362c7909-f106-4b70-9d75-94e93437c67f", "created_at": "2024-03-18T10:51:39.821690+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/362c7909-f106-4b70-9d75-94e93437c67f", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85e69028-a780-4f7d-97e0-05c38783c166 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "d4ed6c39-aa8b-4490-9562-485ba4d1502a", "created_at": "2024-03-18T10:51:39.989741+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/d4ed6c39-aa8b-4490-9562-485ba4d1502a", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85e69028-a780-4f7d-97e0-05c38783c166 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "d4ed6c39-aa8b-4490-9562-485ba4d1502a", "created_at": "2024-03-18T10:51:39.989741+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/d4ed6c39-aa8b-4490-9562-485ba4d1502a", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/b51c24f5-970a-49a7-a143-fecba01507b1 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/b51c24f5-970a-49a7-a143-fecba01507b1 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8472674e-6e62-4888-8b04-eae906b7dd56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b51c24f5-970a-49a7-a143-fecba01507b1", "created_at": "2024-03-18T10:51:40.209191+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/b51c24f5-970a-49a7-a143-fecba01507b1", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8472674e-6e62-4888-8b04-eae906b7dd56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b51c24f5-970a-49a7-a143-fecba01507b1", "created_at": "2024-03-18T10:51:40.209191+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/b51c24f5-970a-49a7-a143-fecba01507b1", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e353625-840e-4d7f-9814-514222467046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00354_third_party_admin_cannot_get_node_history [0.146932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00002_nodes_post_admin [0.199707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00302_lessee_reader_cannot_get_drivers_vendor_passthru [0.138374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00138_lessee_member_cannot_get_vendor_passthru_methods [0.154937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00307_owner_reader_cannot_get_conductors [0.065875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00006_nodes_get_node_member [0.122656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00142_owner_reader_cannot_get_vendor_passthru [0.134759s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00225_third_party_admin_cannot_delete_portgroup [0.210179s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9d7addd-2024-4c7f-9ecc-2f794d1c4275 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38f0ba0b-f732-4705-a2f7-504b51c2564b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38f0ba0b-f732-4705-a2f7-504b51c2564b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ff506ab-97c5-46c5-8a4f-c0dd7c2b5a21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ff506ab-97c5-46c5-8a4f-c0dd7c2b5a21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcad4f22-e5cc-4210-bf33-ebd3b4bad6b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcad4f22-e5cc-4210-bf33-ebd3b4bad6b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c840d1b-58fd-4800-8f03-382639c74d59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c840d1b-58fd-4800-8f03-382639c74d59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-881a1b00-cdce-4d96-bd97-39084d6bf7b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-881a1b00-cdce-4d96-bd97-39084d6bf7b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31304ee6-8bfe-4634-999f-1f0e34004d32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31304ee6-8bfe-4634-999f-1f0e34004d32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/d67d2bf4-f438-40e3-9752-5e8dac56b153 DEBUG util.py:445: GET: /v1/allocations/d67d2bf4-f438-40e3-9752-5e8dac56b153 {}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00312_owner_reader_can_get_their_allocation [0.115985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00230_lessee_reader_can_list_ports [0.144303s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00145_lessee_reader_cannot_get_vendor_passthru [0.155510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00315_lessee_admin_can_delete_their_allocation [0.126176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00231_third_party_admin_cannot_list_ports [0.136746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00157_lessee_reader_cannot_put_vendor_passthru [0.134571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00320_third_party_admin_can_get_allocations [0.132975s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00163_lessee_reader_cannot_delete_vendor_passthru [0.103949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00321_third_party_admin_can_create_allocation [0.102669s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00008_nodes_get_node_other_admin [0.538197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00325_third_party_admin_cannot_read_an_allocation [0.078067s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a807e84b-297c-4668-b2a1-5db22f2e2b05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e217452-7714-44cd-b17f-19229e2900cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e217452-7714-44cd-b17f-19229e2900cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-495cc5cb-0957-4967-b699-723da2cfe5f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-495cc5cb-0957-4967-b699-723da2cfe5f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3640762b-b8c9-4c5e-af70-530593fef824 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3640762b-b8c9-4c5e-af70-530593fef824 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f758ccc7-6b75-4237-badf-361f6b1e461e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f758ccc7-6b75-4237-badf-361f6b1e461e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-045d36d5-f76c-47f6-a864-a839700c1136 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-045d36d5-f76c-47f6-a864-a839700c1136 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-495f425f-54a7-48a9-8990-b7eba3b45bca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-495f425f-54a7-48a9-8990-b7eba3b45bca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85bc7221-52eb-4281-b244-cd0a2637f281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85bc7221-52eb-4281-b244-cd0a2637f281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-464340b0-0acb-4e85-8e10-c96127b7dd3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-464340b0-0acb-4e85-8e10-c96127b7dd3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21c59d06-5b84-4fee-91af-fdfce0e48833 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00235_owner_admin_can_add_ports [0.121938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00241_owner_admin_can_modify_port [0.164392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00331_owner_admin_can_delete_allocation [0.090213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.120860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00337_third_party_admin_cannot_post_deploy_template [0.103170s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdbfb673-23c0-4738-8223-ccff6896a22a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6411a62-8412-4223-9048-84eb69278fc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6411a62-8412-4223-9048-84eb69278fc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd1ceba8-0e72-4bfd-b219-2479c7168d7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd1ceba8-0e72-4bfd-b219-2479c7168d7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-468fe028-4060-4a88-8e9d-3cbf3259da66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-468fe028-4060-4a88-8e9d-3cbf3259da66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34c08a9b-f6ff-479f-8770-f9e0549bf06e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34c08a9b-f6ff-479f-8770-f9e0549bf06e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ccc1a13-0fbe-4f05-a575-9b1d5b12f6cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ccc1a13-0fbe-4f05-a575-9b1d5b12f6cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63fad940-1bd2-4c69-b581-8e9cb47e87fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63fad940-1bd2-4c69-b581-8e9cb47e87fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41c21387-0398-43f5-84db-a99044f39b53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41c21387-0398-43f5-84db-a99044f39b53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83017e8f-7a04-4f91-911e-9aa9b955bb9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83017e8f-7a04-4f91-911e-9aa9b955bb9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": []}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00164_owner_reader_get_traits [0.192534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00168_owner_member_cannot_put_traits [0.135204s] ... ok DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8aec472-7a68-429b-89be-fadabb58de90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d67d2bf4-f438-40e3-9752-5e8dac56b153", "created_at": "2024-03-18T10:51:40.793385+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/d67d2bf4-f438-40e3-9752-5e8dac56b153", "rel": "self"}, {"href": "http://localhost/allocations/d67d2bf4-f438-40e3-9752-5e8dac56b153", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: resource_class DEBUG util.py:445: CUSTOM_TEST DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8aec472-7a68-429b-89be-fadabb58de90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d67d2bf4-f438-40e3-9752-5e8dac56b153", "created_at": "2024-03-18T10:51:40.793385+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/d67d2bf4-f438-40e3-9752-5e8dac56b153", "rel": "self"}, {"href": "http://localhost/allocations/d67d2bf4-f438-40e3-9752-5e8dac56b153", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/27ea4c97-d56f-4c43-97a3-aaf24ade630d DEBUG util.py:445: DELETE: /v1/allocations/27ea4c97-d56f-4c43-97a3-aaf24ade630d DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9486d043-95cd-4303-9d2a-953ae71663a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9486d043-95cd-4303-9d2a-953ae71663a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db94fd1c-c24b-47c9-a831-c4540b6d450a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db94fd1c-c24b-47c9-a831-c4540b6d450a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": []} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6933ce16-414b-47ab-8e51-9492707de185 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6933ce16-414b-47ab-8e51-9492707de185 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/8ddef5b6-f631-4e41-90a8-2f78b6ab20de DEBUG util.py:445: GET: /v1/allocations/8ddef5b6-f631-4e41-90a8-2f78b6ab20de {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea1f862f-4df7-4404-b63d-7d8eeccaded8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8ddef5b6-f631-4e41-90a8-2f78b6ab20de could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea1f862f-4df7-4404-b63d-7d8eeccaded8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8ddef5b6-f631-4e41-90a8-2f78b6ab20de could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ce942c5-a219-414a-b2d0-718ca0331747 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ce942c5-a219-414a-b2d0-718ca0331747 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b802293-de53-48f9-b678-fa8fb8615014 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b802293-de53-48f9-b678-fa8fb8615014 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ffb06fa-83d1-4dc7-a281-7afdca804c2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ffb06fa-83d1-4dc7-a281-7afdca804c2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.TestRBACProjectScoped.test_project_scoped_00247_owner_member_cannot_delete_port [0.190969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00341_third_party_admin_cannot_create_chassis [0.076429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.225939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00172_owner_admin_can_delete_traits [0.146060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.120935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00251_owner_reader_can_get_node_ports [0.228636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00345_node_history_get_entry_admin [0.260821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00173_owner_member_cannot_delete_traits [0.148383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00253_third_party_admin_cannot_get_ports [0.085070s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.156899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00175_lessee_member_cannot_delete_traits [0.143749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00255_lessee_reader_can_get_ports_by_portgroup [0.075787s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00256_third_party_admin_cannot_get_ports_by_portgroup [0.071950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00259_third_party_admin_cannot_get_connector_list [0.075530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00179_lessee_admin_cannot_put_custom_traits [0.148074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.192323s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21c59d06-5b84-4fee-91af-fdfce0e48833 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: PATCH: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58fc367b-b304-432a-84f1-d18d52de1fdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58fc367b-b304-432a-84f1-d18d52de1fdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-080d9db6-476a-4eb4-ae6c-8e15d1f9d893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-080d9db6-476a-4eb4-ae6c-8e15d1f9d893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f5561d5-e54b-4774-84f4-a058cd4d5bb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f5561d5-e54b-4774-84f4-a058cd4d5bb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e680b90-5a30-43fa-8888-0f2b6af6f5ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e680b90-5a30-43fa-8888-0f2b6af6f5ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3183692b-4dc0-4606-8f92-c9278ea339c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3183692b-4dc0-4606-8f92-c9278ea339c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/5810f41c-6585-41fc-b9c9-a94f50d421b5/ports DEBUG util.py:445: GET: /v1/portgroups/5810f41c-6585-41fc-b9c9-a94f50d421b5/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d230316f-f50f-4b2a-9969-a1f9ce473abd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d230316f-f50f-4b2a-9969-a1f9ce473abd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5b15866-f8cc-4edb-8de1-4fd51ff3c3e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5b15866-f8cc-4edb-8de1-4fd51ff3c3e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6259cf9c-d5ce-4293-8865-91a8d912d290 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6259cf9c-d5ce-4293-8865-91a8d912d290 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00262_third_party_admin_cannot_post_volume_connector [0.068886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00263_owner_reader_can_get_volume_connector [0.071291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00181_third_party_admin_cannot_put_custom_traits [0.168204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00003_nodes_post_member [0.486464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00273_third_party_admin_cannot_delete_volume_connector [0.067537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.204835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00282_third_party_admin_cannot_create_volume_target [0.073363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00005_nodes_get_node_admin [0.125560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00047_nodes_states_power_put_admin [0.122788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00283_owner_member_can_patch_volume_target [0.073175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00184_third_party_admin_cannot_get_vifs [0.193088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00284_lessee_admin_can_patch_volume_target [0.072408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00009_nodes_get_admin [0.129076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00287_owner_admin_can_delete_volume_target [0.069369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00051_nodes_states_boot_mode_put_member [0.165693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00185_owner_admin_can_post_vifs [0.159102s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00290_lessee_member_cannot_delete_volume_target [0.070335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00015_nodes_node_ident_get_member [0.151970s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1178a185-1586-4f1a-92ad-934c9dbfba44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:42.241308+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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1178a185-1586-4f1a-92ad-934c9dbfba44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:42.241308+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": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f10ef84-21cc-4681-b686-4e45f7e992a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f10ef84-21cc-4681-b686-4e45f7e992a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7b7490a-a043-4bd1-9fea-08fe6f598a5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7b7490a-a043-4bd1-9fea-08fe6f598a5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18dc4714-280b-40f1-8253-3037a7aa7266 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18dc4714-280b-40f1-8253-3037a7aa7266 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10d624bb-ce1d-4a72-afb0-6d78d9b4c7dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10d624bb-ce1d-4a72-afb0-6d78d9b4c7dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03ec0cfb-e7dc-4d12-a5c5-b21158a8acc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03ec0cfb-e7dc-4d12-a5c5-b21158a8acc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3dca3b6-39ee-4284-bb69-b8e7d38eecea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3dca3b6-39ee-4284-bb69-b8e7d38eecea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5fe6182-4e08-4da2-8456-ee23b280887c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5fe6182-4e08-4da2-8456-ee23b280887c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00291_third_party_admin_cannot_delete_volume_target [0.064837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00063_nodes_states_console_get_member [0.171133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.142670s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9164b941-4d08-49b1-9785-8eb2d1e675da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9164b941-4d08-49b1-9785-8eb2d1e675da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0910f192-1b7c-46d3-9532-2d1d5775d14d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0910f192-1b7c-46d3-9532-2d1d5775d14d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b9b9431-9c30-4926-8ee2-1a8746dfc1fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b9b9431-9c30-4926-8ee2-1a8746dfc1fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-210890a6-8ca0-4ea1-84fd-6642189a4424 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-210890a6-8ca0-4ea1-84fd-6642189a4424 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96f064ec-2b0b-4329-959e-a9bea11442ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96f064ec-2b0b-4329-959e-a9bea11442ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a616a9f-1446-4075-96d8-d04a8883ae06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a616a9f-1446-4075-96d8-d04a8883ae06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5715ddd0-b7a7-4bc3-adda-3a2ee54c9993 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5715ddd0-b7a7-4bc3-adda-3a2ee54c9993 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-030c6b3b-576c-44dc-be4b-3352794f7570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-030c6b3b-576c-44dc-be4b-3352794f7570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e00de2dc-8449-4043-ade8-55788ab7a349 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00187_owner_member_can_post_vifs [0.205084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00065_nodes_states_console_put_member [0.145645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00292_owner_reader_can_get_volume_connectors [0.212590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00298_owner_reader_cannot_get_drivers [0.074263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00025_nodes_validate_get_observer [0.201833s] ... ok DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e353625-840e-4d7f-9814-514222467046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-483cca7d-d23a-4979-b37c-8d8dd951e075 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c86218d9-a7a9-4f74-8918-bac22610175f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89735968-ac6f-450c-ba43-2bec8a350e58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad6fea5f-f7ec-4ebd-87a0-c2654f409616 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-061f0f4b-91b5-4dec-918a-3c27c3aad2b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-688caf9b-a4c7-454d-962d-c735e3c3a14a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d929434c-8149-4e4e-8424-ae17256648ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f8e958b-0850-421c-be93-2c1853850c92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b168bffa-e26b-42db-aa27-1d461b970ce6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e029fdf-5885-4c13-83b0-b327aacd8fb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4036d6c9-c1da-4d7b-a1eb-3132b60c2358 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-102e482d-0037-4603-9f41-f12c2a7ce66b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-430d29b0-7b93-40e6-b6d4-fcafb8e68550 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad0442da-3d7f-46d7-8c3b-b20701cececf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00068_nodes_vendor_passthru_methods_get_member [0.077678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00189_owner_reader_cannot_post_vifs [0.236236s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00300_third_party_admin_cannot_get_drivers [0.060381s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00309_third_party_admin_cannot_get_conductors [0.061524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00071_nodes_vendor_passthru_get_member [0.161856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00317_lessee_member_can_delete_their_allocation [0.065975s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00191_third_party_admin_cannot_post_vifs [0.142204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.163778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00318_owner_member_can_patch_allocation [0.087631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.099726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00073_nodes_vendor_passthru_post_admin [0.179228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00206_lessee_reader_can_list_portgroups [0.151138s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acb442aa-e8ae-4995-bef9-c3411e79eede DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acb442aa-e8ae-4995-bef9-c3411e79eede DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dacf7591-c772-4996-b4b9-4d79d1b3a75f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dacf7591-c772-4996-b4b9-4d79d1b3a75f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8163fbd-12b3-4749-89c7-caad23d16ef3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8163fbd-12b3-4749-89c7-caad23d16ef3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64fbde35-2f32-4ed6-8549-561a3b92f5b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64fbde35-2f32-4ed6-8549-561a3b92f5b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/10ac2f4e-ad58-471d-96bd-5c0d4081c239 DEBUG util.py:445: DELETE: /v1/allocations/10ac2f4e-ad58-471d-96bd-5c0d4081c239 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3433299e-20bb-470d-89fb-6a7278b318d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3433299e-20bb-470d-89fb-6a7278b318d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/433e8c71-f286-4c6e-b925-10149438b218 DEBUG util.py:445: PATCH: /v1/allocations/433e8c71-f286-4c6e-b925-10149438b218 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4496e1a5-e99f-418c-a233-fab788691e89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "433e8c71-f286-4c6e-b925-10149438b218", "created_at": "2024-03-18T10:51:43.290507+00:00", "updated_at": "2024-03-18T10:51:43.322434+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/433e8c71-f286-4c6e-b925-10149438b218", "rel": "self"}, {"href": "http://localhost/allocations/433e8c71-f286-4c6e-b925-10149438b218", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4496e1a5-e99f-418c-a233-fab788691e89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "433e8c71-f286-4c6e-b925-10149438b218", "created_at": "2024-03-18T10:51:43.290507+00:00", "updated_at": "2024-03-18T10:51:43.322434+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/433e8c71-f286-4c6e-b925-10149438b218", "rel": "self"}, {"href": "http://localhost/allocations/433e8c71-f286-4c6e-b925-10149438b218", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', 'candidate_nodes': ['1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f']} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-913af6e7-0bf0-4ecb-bc5a-8667d2ad8490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881, 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-913af6e7-0bf0-4ecb-bc5a-8667d2ad8490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881, 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00323_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.067725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00328_owner_reader_can_read_node_allocation [0.074932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.143126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00075_nodes_vendor_passthru_post_observer [0.162442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00334_owner_reader_cannot_get_deploy_templates [0.059286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00210_third_party_admin_cannot_read_portgroup [0.197164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00336_third_party_admin_cannot_get_deploy_templates [0.068643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.102856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00338_owner_reader_cannot_access_chassis [0.058025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00044_nodes_states_get_admin [0.080977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00085_nodes_traits_put_admin [0.172933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00339_lessee_reader_cannot_access_chassis [0.078074s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00053_nodes_states_secure_boot_put_admin [0.086884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00216_owner_admin_can_modify_portgroup [0.190484s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00344_node_history_get_reader [0.078082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00090_nodes_traits_delete_observer [0.135719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00218_lessee_admin_cannot_modify_portgroup [0.194054s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da38b88b-b9d5-42e9-8c18-98be69fa5f96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dfface73-740f-43a7-a5de-ce55446f0775", "created_at": "2024-03-18T10:51:43.432800+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/dfface73-740f-43a7-a5de-ce55446f0775", "rel": "self"}, {"href": "http://localhost/allocations/dfface73-740f-43a7-a5de-ce55446f0775", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da38b88b-b9d5-42e9-8c18-98be69fa5f96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dfface73-740f-43a7-a5de-ce55446f0775", "created_at": "2024-03-18T10:51:43.432800+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/dfface73-740f-43a7-a5de-ce55446f0775", "rel": "self"}, {"href": "http://localhost/allocations/dfface73-740f-43a7-a5de-ce55446f0775", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec65a9e0-9888-432a-9dc1-7257c6fa52a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec65a9e0-9888-432a-9dc1-7257c6fa52a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67f9c9f1-3ec7-4e45-9ecc-e15dcc0916c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67f9c9f1-3ec7-4e45-9ecc-e15dcc0916c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8006c9f-5c1d-4587-a585-668a852f84cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8006c9f-5c1d-4587-a585-668a852f84cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-850dbb47-d147-483f-9fe9-9e844b96678f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-850dbb47-d147-483f-9fe9-9e844b96678f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4decb986-a8ef-4225-93c6-fbaaed882775 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "5b31a151-709f-46fc-895e-6157e7e4ad41", "created_at": "2024-03-18T10:51:43.771297+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/5b31a151-709f-46fc-895e-6157e7e4ad41", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4decb986-a8ef-4225-93c6-fbaaed882775 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "5b31a151-709f-46fc-895e-6157e7e4ad41", "created_at": "2024-03-18T10:51:43.771297+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/5b31a151-709f-46fc-895e-6157e7e4ad41", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/57c268b5-2d75-4248-bc50-ad961add063f DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/57c268b5-2d75-4248-bc50-ad961add063f {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1b669c4-0d80-47bf-8e36-2d96fe8d95fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "57c268b5-2d75-4248-bc50-ad961add063f", "created_at": "2024-03-18T10:51:43.854118+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/57c268b5-2d75-4248-bc50-ad961add063f", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1b669c4-0d80-47bf-8e36-2d96fe8d95fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "57c268b5-2d75-4248-bc50-ad961add063f", "created_at": "2024-03-18T10:51:43.854118+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/57c268b5-2d75-4248-bc50-ad961add063f", "rel": "self"}]}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00347_node_history_get_entry_reader [0.085478s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00348_lessee_node_history_get_admin [0.093627s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/3d9c90c8-82b8-4b04-978b-c9e070154ad9 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/3d9c90c8-82b8-4b04-978b-c9e070154ad9 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9956eca-59dc-4164-abf9-51b3d8ad7fa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9956eca-59dc-4164-abf9-51b3d8ad7fa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1242b87-9f7c-4051-a2d0-a54d1cbdb7b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b78d1d93-3f6f-4ab5-ae72-4d95fb2003ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c227d80-55c4-4357-a7a3-fca72bcc8487 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1077c573-7368-444a-ab5c-8042364d4b0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27a0f7c5-8dfb-4b72-8c49-2642e9898775 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-240a2a85-98d7-4d90-b1ac-bd50f04a90bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f3f7434-ddfb-4b8a-953c-cbbc2fc03a81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c0fce5e-2e43-44ea-bae0-621fea5c44c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98cd89b6-c262-46c4-bea6-e0260bf8f731 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f3b4ba6-db18-43b2-9aef-6c0f3582be9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da5ee35a-ef96-42c1-83eb-6b5a7e807c54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a4d3cca-7d69-45ee-ab8a-b3fc544a2d59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-214d9f17-81a3-4c39-9cf9-c35d44f3ec8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00058_nodes_states_provision_put_observer [0.122275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00066_nodes_states_console_put_observer [0.133145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00349_lessee_node_history_get_member [0.086132s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00096_nodes_traits_trait_delete_observer [0.243954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00086_nodes_traits_put_member [0.105939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00351_lessee_node_history_get_entry_admin [0.064202s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00220_third_party_admin_cannot_modify_portgroup [0.192704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00352_lessee_history_get_entry_member [0.067788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00089_nodes_traits_delete_member [0.090031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00102_nodes_vifs_post_observer [0.146709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00091_nodes_traits_trait_put_admin [0.064415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00007_nodes_get_node_observer [0.060917s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00103_nodes_vifs_node_vif_ident_delete_admin [0.178700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00093_nodes_traits_trait_put_observer [0.132229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00011_nodes_detail_get_admin [0.057726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00012_nodes_detail_get_member [0.062296s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e00de2dc-8449-4043-ade8-55788ab7a349 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3f9786f-e51c-420d-98d5-8755c1431bc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3f9786f-e51c-420d-98d5-8755c1431bc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cef4afde-bd5e-47c8-ad76-1bef61ceb50e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cef4afde-bd5e-47c8-ad76-1bef61ceb50e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ee5b546-a408-464f-9fe6-37dcffe74ff4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ee5b546-a408-464f-9fe6-37dcffe74ff4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e972df7e-e086-494e-bd1b-beec4abaa5a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e972df7e-e086-494e-bd1b-beec4abaa5a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66a4d216-22a5-41a0-9d9a-eb36a5c4b830 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66a4d216-22a5-41a0-9d9a-eb36a5c4b830 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-192fa732-22ec-4f1d-b702-2fcdb37ddb07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-192fa732-22ec-4f1d-b702-2fcdb37ddb07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-025e1094-36d7-4b3b-8bdb-42e6d0f58e9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-025e1094-36d7-4b3b-8bdb-42e6d0f58e9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc00cb92-712a-4afd-a24f-da1737df5240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00221_owner_admin_can_delete_portgroup [0.201529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00097_nodes_vifs_get_admin [0.092060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00104_nodes_vifs_node_vif_ident_delete_member [0.152974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00099_nodes_vifs_get_observer [0.097420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00013_nodes_detail_get_observer [0.187809s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00226_owner_reader_can_get_node_portgroups [0.250410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00101_nodes_vifs_post_member [0.072894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.153290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00227_lessee_reader_can_get_node_porgtroups [0.209532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00113_portgroups_get_member [0.133486s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00108_nodes_management_indicators_get_observer [0.176753s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.186044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00238_lessee_admin_cannot_add_port [0.155049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00125_portgroups_portgroup_ident_patch_member [0.193474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00114_portgroups_get_observer [0.169599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.194353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00242_owner_member_cannot_modify_port [0.170154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00129_portgroups_portgroup_ident_delete_observer [0.189977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00115_portgroups_post_admin [0.138430s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.151649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00244_lessee_member_cannot_modify_port [0.152848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00131_nodes_portgroups_get_member [0.157506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00132_nodes_portgroups_get_observer [0.108158s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00246_owner_admin_can_delete_port [0.161565s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb608b54-43ed-466a-8cf1-b387c9ef4515 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb608b54-43ed-466a-8cf1-b387c9ef4515 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef5c05fd-db16-4e1f-8542-157ef61907d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef5c05fd-db16-4e1f-8542-157ef61907d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/36d54acc-3edc-4085-8cad-c8ff3db80cf8 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/36d54acc-3edc-4085-8cad-c8ff3db80cf8 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64f42a9d-a479-4209-a67e-3188b257c59e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64f42a9d-a479-4209-a67e-3188b257c59e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/510c2be9-6c3b-488a-8048-70f91097f52d DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/510c2be9-6c3b-488a-8048-70f91097f52d {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ade7236a-783c-414f-a242-515c8a6d4e7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ade7236a-783c-414f-a242-515c8a6d4e7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bf64e55-3dee-4ddb-adb1-5868b48b3496 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cef279e-4217-4abb-aa3e-85e66ac7bf1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-280960df-bad6-4a10-8a73-c68bf65f924d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8b107b0-10c9-4ca5-940b-baea3067bb69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8745571a-f63b-49be-b851-d3c2d4101d6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6342fe02-577f-4bbf-be1c-6e6af0a11244 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-daf5ec83-5f0b-4db2-80b4-02dbc8c3f254 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8760bf0e-e8e5-43de-9ac4-bdfe72c99707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {}{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00023_nodes_validate_get_admin [0.129209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00133_nodes_portgroups_detail_get_admin [0.144874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00136_ports_get_admin [0.188765s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.164670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00261_lessee_admin_cannot_post_volume_connector [0.178749s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72890f4b-73df-4a1a-8135-85679e3aaec8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dbd2e433-9afd-4f55-adaf-9f34c2374104 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea088184-202f-4722-b864-f43dc7cd29db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82f66489-5247-4422-a1a5-d367afc45ef3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00bb848f-70dc-4461-a47e-7d2da0a5a848 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67e00029-4fe7-4ba0-8c5f-5b349fa376ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0e3d58b-c1f8-4144-b3d6-03fa734803c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-838bd254-98a1-4765-9388-f2fc0782ec49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-447a78ff-88ee-476d-8e95-9ad2d5400e84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b513623b-4faf-4577-a096-ac999f486e88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad018f8e-a971-41c6-a302-0e5cc5621fc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cd8fd33-8bef-4b13-876c-aae9fa7d5453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fb7974c-f9b9-4ef0-be3f-5d13ad493c27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f88108b-aa50-4a4a-9747-48757e82d3af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00135_nodes_portgroups_detail_get_observer [0.173227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00137_ports_get_member [0.171084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00027_nodes_maintenance_put_member [0.133675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00139_ports_post_admin [0.087922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00147_ports_port_id_get_observer [0.177217s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc00cb92-712a-4afd-a24f-da1737df5240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd126cee-1452-4aaf-be50-c0abdf75b80a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd126cee-1452-4aaf-be50-c0abdf75b80a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fbe34fe-a94d-409a-90fb-930e48ba0c3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fbe34fe-a94d-409a-90fb-930e48ba0c3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67ca94db-0b72-4f10-9ccd-3e7929c95850 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67ca94db-0b72-4f10-9ccd-3e7929c95850 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: PATCH: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0bf73e3-3443-42fd-b3dc-c875c636a5ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0bf73e3-3443-42fd-b3dc-c875c636a5ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5723fba7-f126-46a3-b988-15fc4e6335e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5723fba7-f126-46a3-b988-15fc4e6335e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d174895-91eb-4997-9a22-72396dafb264 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d174895-91eb-4997-9a22-72396dafb264 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12fa9dd3-c3ed-472e-b939-f98308c0e0db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12fa9dd3-c3ed-472e-b939-f98308c0e0db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41746955-c010-4de9-9498-88838940cb4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00269_owner_member_can_patch_volume_connectors [0.206019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.192190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00149_ports_port_id_patch_member [0.198785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00272_lessee_admin_can_delete_volume_connectors [0.216849s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebd822e9-67e2-4b3d-8fdf-255d9b1a7b4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe60f75e-78e4-4328-94c4-35e8e4cdaf8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e4d38d5-66d4-4503-9064-383fea68af86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81190dbf-5305-4654-b45a-a2e5f8469f8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17585422-6fb3-4768-a20c-219f8faa6f1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab5f2646-c085-4942-9f82-518e89547438 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9aa60b3-b838-40f0-96f0-ecc21f45974a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7545b6fd-2928-471b-8d33-e06f60b6a2b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ede48d7b-888c-4af0-9af5-7818e547fe7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-982e089d-dfce-4094-a820-fea9d8b9dc18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15c11d57-0816-45b8-b28d-8a132b216ecf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96ea4daa-971b-476e-931a-7a03944c0959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1454fd16-08f3-47d3-ad12-715489b5c3a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d75ca3d3-c990-462d-983a-468f0213c8c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f076efcd-7636-42d5-baa0-c61720030c8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92a9a170-e4a8-4fe7-b055-6c25e735745d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00143_ports_detail_get_member [0.177332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.183874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00146_ports_port_id_get_member [0.170978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00151_ports_port_id_delete_admin [0.145740s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00277_owner_reader_can_get_volume_target [0.148849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.194120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00152_ports_port_id_delete_member [0.158025s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00167_volume_get_member [0.153462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00280_owner_admin_create_volume_target [0.162050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00156_nodes_ports_get_observer [0.149838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.169906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00177_volume_volume_connector_id_get_observer [0.168403s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00281_lessee_admin_create_volume_target [0.194892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00049_nodes_states_power_put_observer [0.142367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00159_nodes_ports_detail_get_observer [0.164503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00188_volume_targets_post_member [0.140093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00288_lessee_admin_can_delete_volume_target [0.158143s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00052_nodes_states_boot_mode_put_observer [0.135094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00160_portgroups_ports_get_admin [0.154621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00192_volume_volume_target_id_get_observer [0.212497s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41746955-c010-4de9-9498-88838940cb4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56c03494-3b61-48e0-9963-56fd6a83f23e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56c03494-3b61-48e0-9963-56fd6a83f23e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-630af155-0f20-475c-942b-1733c731697b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:46.165684+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: properties DEBUG util.py:445: {'redacted_contents': '** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **'} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-630af155-0f20-475c-942b-1733c731697b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:51:46.165684+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/a1ee40e6-3d42-4b70-b40e-48ea7a3f72a4 DEBUG util.py:445: Openstack-Request-Id: req-b1a5dd56-f492-4763-8d53-a19d0e0b7476 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "a1ee40e6-3d42-4b70-b40e-48ea7a3f72a4", "created_at": "2024-03-18T10:51:46.386447+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a1ee40e6-3d42-4b70-b40e-48ea7a3f72a4", "rel": "self"}, {"href": "http://localhost/volume/targets/a1ee40e6-3d42-4b70-b40e-48ea7a3f72a4", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/a1ee40e6-3d42-4b70-b40e-48ea7a3f72a4 DEBUG util.py:445: Openstack-Request-Id: req-b1a5dd56-f492-4763-8d53-a19d0e0b7476 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "a1ee40e6-3d42-4b70-b40e-48ea7a3f72a4", "created_at": "2024-03-18T10:51:46.386447+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a1ee40e6-3d42-4b70-b40e-48ea7a3f72a4", "rel": "self"}, {"href": "http://localhost/volume/targets/a1ee40e6-3d42-4b70-b40e-48ea7a3f72a4", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/e04a4272-8884-4704-809a-f9baebf3e56d DEBUG util.py:445: Openstack-Request-Id: req-58d5ee53-b2d6-4268-9e43-53950d4d1ce5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e04a4272-8884-4704-809a-f9baebf3e56d", "created_at": "2024-03-18T10:51:46.572486+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e04a4272-8884-4704-809a-f9baebf3e56d", "rel": "self"}, {"href": "http://localhost/volume/targets/e04a4272-8884-4704-809a-f9baebf3e56d", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/e04a4272-8884-4704-809a-f9baebf3e56d DEBUG util.py:445: Openstack-Request-Id: req-58d5ee53-b2d6-4268-9e43-53950d4d1ce5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e04a4272-8884-4704-809a-f9baebf3e56d", "created_at": "2024-03-18T10:51:46.572486+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e04a4272-8884-4704-809a-f9baebf3e56d", "rel": "self"}, {"href": "http://localhost/volume/targets/e04a4272-8884-4704-809a-f9baebf3e56d", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-484f770e-7f80-4a1e-9323-37b6e015f85e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-484f770e-7f80-4a1e-9323-37b6e015f85e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b713071-249f-44bc-98bb-7ee9918d8ef5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00289_owner_member_cannot_delete_volume_target [0.139826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00055_nodes_states_secure_boot_put_observer [0.201213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00161_portgroups_ports_get_member [0.196982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00294_third_party_admin_cannot_get_node_volume_connectors [0.163101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00195_volume_volume_target_id_patch_observer [0.148333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00056_nodes_states_provision_put_admin [0.136914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00163_portgroups_ports_detail_get_admin [0.126474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00301_owner_reader_cannot_get_drivers_vendor_passthru [0.125201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00166_volume_get_admin [0.060459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00196_volume_volume_target_id_delete_admin [0.147172s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00057_nodes_states_provision_put_member [0.155861s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00168_volume_get_observer [0.091979s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00199_nodes_volume_get_admin [0.077248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00201_nodes_volume_get_observer [0.066094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00303_third_party_admin_cannot_get_drivers_vendor_passthru [0.192376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00171_volume_connectors_get_observer [0.102342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00060_nodes_states_raid_put_member [0.143426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00205_nodes_volume_targets_get_admin [0.072986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00215_drivers_properties_get_member [0.060411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00173_volume_connectors_post_member [0.163762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00061_nodes_states_raid_put_observer [0.129262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00304_owner_reader_can_get_bios_setttings [0.167268s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07e5b415-21ae-4a85-85d5-fb7e7fda043e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ae1c5fb-2e48-4307-9175-266528b54419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9e941d8-a505-487c-983d-5736a092a816 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6115868b-f05d-4fe4-8752-896a030e85a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67a76a18-65f9-423c-ab3e-404bc0c125ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10a950c6-d2f9-4690-9908-19c388cb0be3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cef69cdd-6b99-4883-9f20-d2de7555734b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5dea4c7a-972f-4235-869b-089dcf41689d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fcc69b0-e0b3-41fa-8891-038d995401bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d25bf6d-d889-44e3-a116-490a638e51f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-697b5e19-446b-4f5f-8958-edb4ad523827 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37a7a6bb-1429-46d7-a0e5-52bec484949d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e14a987-0de1-45db-a3ba-7d24594ab992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f05c5a27-de0d-4e61-bd61-7cdfe86e179e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6fed55a-449a-46df-ab78-16909ef8fd38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00217_drivers_raid_logical_disk_properties_get_admin [0.073847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00226_drivers_vendor_passthru_post_admin [0.071124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00176_volume_volume_connector_id_get_member [0.122536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00237_nodes_bios_bios_setting_get_admin [0.111638s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a881f0ad-edf6-45b9-a85f-3774d05fb981 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9055424e-951e-4048-b8f1-005cbbb32926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fa233c1-6040-430a-a767-be1053d8b622 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5262b25-d660-4908-96eb-7b5a32c0bd70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f3dc806-da4a-4a26-a2c0-7c9cfe6684b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff5c3b74-73e7-4555-91d4-07ae97016ff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f4cbc75-fc29-48c2-a536-d243794f3520 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a74824ef-39c3-4571-80c1-23343371196d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6daba61c-c99b-4093-8e21-b5eddd76c6a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47b7a5db-25fa-4b9f-9830-1bfa0aabdcc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1b1c91c-8114-479f-a1e2-c8bfb4372106 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcaf2172-ceed-4ca5-9d37-5da536a1685a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-213823a0-f152-4adc-951c-2837f4c6778c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b78a91de-769f-4928-b65e-b253fae9356d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8228af93-5e6f-4270-9b5f-fc16f45d2023 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_00064_nodes_states_console_put_admin [0.152952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00305_lessee_reader_can_get_bios_settings [0.225120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00070_nodes_vendor_passthru_get_admin [0.129417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00181_volume_volume_connector_id_delete_admin [0.158104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00239_nodes_bios_bios_setting_get_observer [0.139577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00072_nodes_vendor_passthru_get_observer [0.092483s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00306_third_party_admin_cannot_get_bios_settings [0.181812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00197_volume_volume_target_id_delete_member [0.157068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00240_conductors_get_admin [0.135302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00076_nodes_vendor_passthru_put_admin [0.112296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00308_lessee_reader_cannot_get_conductors [0.147458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00077_nodes_vendor_passthru_put_member [0.097534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00198_volume_volume_target_id_delete_observer [0.144849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00243_conductors_hostname_get_admin [0.128386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00078_nodes_vendor_passthru_put_observer [0.081661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00247_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. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00079_nodes_vendor_passthru_delete_admin [0.092918s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63620f8c-723b-48ff-8a9c-8d2222544bb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26a86dee-1761-46b1-ad2c-1fca18a7da7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4597419-8d95-4165-aca9-4a2088e33a4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-029e4004-fefc-4066-9cbe-0040280c15af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15adb6b9-84ce-46bc-bbd5-f027366b6baa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de1585b0-f234-426d-a6dc-2c5898f85912 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e77ca01d-5ec7-4398-8ab1-b82410b99fb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be55d2f3-17c5-4bc9-a1ed-479c2470e27f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a52f27ca-f907-4963-82d5-eeb8b48e227d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e372b0f-3b41-44a8-b84d-ff015104dc31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e74515c5-7ae9-4eb6-8c2e-dce3d8e0d405 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1bc1835a-a6d7-4f2f-ac24-df1243fff20d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0dc1eadc-f85d-4e9e-a3b3-2ade2291ef53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e7e585e-4891-43c0-a4c1-c8e690f173d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cf2b9d6-fe31-4629-9670-3cd2c2754db7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00204_nodes_volume_connectors_get_observer [0.160881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00208_drivers_get_admin [0.084853s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b713071-249f-44bc-98bb-7ee9918d8ef5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aa8f6c1-6b37-464e-a683-821ab686c9b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aa8f6c1-6b37-464e-a683-821ab686c9b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d52e3de-aef3-496a-8137-d773e7b1e9d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d52e3de-aef3-496a-8137-d773e7b1e9d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02c973eb-2bef-4611-8b25-97a04bc68fe6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02c973eb-2bef-4611-8b25-97a04bc68fe6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4bc0b1a3-03b1-40b8-8d5e-353b3a80b848 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4bc0b1a3-03b1-40b8-8d5e-353b3a80b848 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16430830-b25e-42b0-90f7-903448f5acdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16430830-b25e-42b0-90f7-903448f5acdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01b74dc2-c58a-4365-94b5-0f37eb8549a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01b74dc2-c58a-4365-94b5-0f37eb8549a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d50a105-ccbb-4b69-b039-fc1de49086ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d50a105-ccbb-4b69-b039-fc1de49086ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90c1c860-ea69-442c-9f92-9600ab05e675 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "fdb71188-b57e-4ca3-93f7-62b6d942c9de", "created_at": "2024-03-18T10:51:48.189067+00:00", "updated_at": "2024-03-18T10:51:48.190731+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/fdb71188-b57e-4ca3-93f7-62b6d942c9de", "rel": "self"}, {"href": "http://localhost/allocations/fdb71188-b57e-4ca3-93f7-62b6d942c9de", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90c1c860-ea69-442c-9f92-9600ab05e675 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "fdb71188-b57e-4ca3-93f7-62b6d942c9de", "created_at": "2024-03-18T10:51:48.189067+00:00", "updated_at": "2024-03-18T10:51:48.190731+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/fdb71188-b57e-4ca3-93f7-62b6d942c9de", "rel": "self"}, {"href": "http://localhost/allocations/fdb71188-b57e-4ca3-93f7-62b6d942c9de", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00310_owner_reader_can_get_allocations [0.168994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00080_nodes_vendor_passthru_delete_member [0.142766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00250_allocations_get_member [0.176118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00326_third_party_admin_cannot_patch_an_allocation [0.199589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00209_drivers_get_member [0.102806s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00081_nodes_vendor_passthru_delete_observer [0.088367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00327_third_party_admin_cannot_delete_an_allocation [0.119795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00255_allocations_allocation_id_patch_admin [0.145149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00218_drivers_raid_logical_disk_properties_get_member [0.117845s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00088_nodes_traits_delete_admin [0.120831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00333_third_party_admin_cannot_delete_allocation [0.107956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00219_drivers_raid_logical_disk_properties_get_observer [0.110127s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00259_allocations_allocation_id_delete_member [0.165220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00350_lessee_node_history_get_reader [0.116329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00098_nodes_vifs_get_member [0.158339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00222_drivers_vendor_passthru_methods_get_observer [0.154575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00353_lessee_node_history_get_entry_reader [0.085053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00262_nodes_allocation_get_member [0.135448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00004_nodes_post_observer [0.122383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00112_portgroups_get_admin [0.154196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00269_deploy_templates_post_observer [0.134463s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00234_nodes_bios_get_admin [0.181111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00010_nodes_get_other_admin [0.137227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00270_deploy_templates_get_admin [0.150983s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00118_portgroups_detail_get_admin [0.204045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.111712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00238_nodes_bios_bios_setting_get_member [0.231690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00285_chassis_get_admin [0.155028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00024_nodes_validate_get_member [0.145173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00119_portgroups_detail_get_member [0.193321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00248_allocations_post_observer [0.159574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00287_chassis_get_observer [0.143141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.121670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00121_portgroups_portgroup_ident_get_admin [0.180595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00293_chassis_chassis_id_get_observer [0.135792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00249_allocations_get_admin [0.200937s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc0f617f-14fb-4f21-a78f-55890023430d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a53b8d80-31a8-4b8b-b724-845c98176bba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe9751ac-b234-4d8c-a898-595abd9c0d80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35ec8c46-efff-4b4f-9ce3-ee9d59e3c163 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63db8291-8a3d-494c-bcc7-9df2d68fb54c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-991abc13-9b95-434d-a7dd-15ec3bec8906 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-921b16f0-5c1d-4aab-a386-48119625cd5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbb6ec78-b6b8-4114-a368-deee82506593 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16a9a37f-0ca3-4cdd-af6c-1a8ced33d6bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-539f3c58-c1d2-484f-a6d5-32552a51b8a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffebbc87-dc23-4f08-be19-8ea9992fc6ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96a75c6c-74d7-4de1-a039-0ccb472918e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-680de459-80d8-47a3-b422-3c776bbf5836 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb3f826c-0ca8-4903-a4d5-3bffe0fc2cc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e5c73b8-0b1d-4368-9b0c-fd4547db4a18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_rbac_legacy_00123_portgroups_portgroup_ident_get_observer [0.211467s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/5c390481-76ce-4114-8eaf-203b3471287d DEBUG util.py:445: PATCH: /v1/allocations/5c390481-76ce-4114-8eaf-203b3471287d [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b37404f-35d7-4ff3-bb77-c694a66e9bfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5c390481-76ce-4114-8eaf-203b3471287d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b37404f-35d7-4ff3-bb77-c694a66e9bfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5c390481-76ce-4114-8eaf-203b3471287d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/8cea3548-d24c-4557-bbc8-2dcf7c671928 DEBUG util.py:445: DELETE: /v1/allocations/8cea3548-d24c-4557-bbc8-2dcf7c671928 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf7c6546-9b1a-47eb-80e9-7ad0fd9faa9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8cea3548-d24c-4557-bbc8-2dcf7c671928 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf7c6546-9b1a-47eb-80e9-7ad0fd9faa9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8cea3548-d24c-4557-bbc8-2dcf7c671928 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-002722ae-e280-459e-a9d1-1671f7878f75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-002722ae-e280-459e-a9d1-1671f7878f75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04fdba2b-4fb2-42f9-98ea-8f511fc885a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04fdba2b-4fb2-42f9-98ea-8f511fc885a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c24ea6a8-51b6-4210-ab79-230d163dd2f9 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c24ea6a8-51b6-4210-ab79-230d163dd2f9 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-996fb488-2c2b-4943-bdde-6726458ee0af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-996fb488-2c2b-4943-bdde-6726458ee0af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca90081b-4ca4-4747-bf7a-85263ae9f1cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dfc31bc-c1d0-441b-9837-15e18d426519 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dfc31bc-c1d0-441b-9837-15e18d426519 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-534fca94-9a74-4d76-8f7d-97aadedba55d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1da1b461-67b6-46e8-b4c0-884bbedf246b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9c21aaf-b7fa-4a79-aafe-b8424a98696a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88e62925-7292-4170-9830-60ebfdc562a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.176576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.189615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00257_allocations_allocation_id_patch_observer [0.184873s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6e3eadb-9af5-4558-a62d-a3ea357c851e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e58d1ecc-3a1a-4e6d-83e2-1580c90c98e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87ea154f-3814-46a8-9568-f242ff9ecfab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d48a666b-06fc-438c-810c-bbab0e8f2b51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e9c335a-aace-446e-897d-81be0742609d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e8b15d3-099b-4b31-ac41-d6a8e18dfbda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/3faf1bcc-5f9c-42c1-a3c7-038d137e6657 DEBUG util.py:445: PATCH: /v1/allocations/3faf1bcc-5f9c-42c1-a3c7-038d137e6657 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-827c7f8e-3139-4cf1-809b-cc18e1db2eb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3faf1bcc-5f9c-42c1-a3c7-038d137e6657 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/cebe75fd-8fa0-417a-86af-f870b9433b18 DEBUG util.py:445: DELETE: /v1/allocations/cebe75fd-8fa0-417a-86af-f870b9433b18 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50733507-2cad-41ac-b8b3-77ee1bbba805 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cebe75fd-8fa0-417a-86af-f870b9433b18 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-556bb924-5823-4cc4-b42c-0361de28fa61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2bce41e-d653-40fe-9211-e42bf91c0f6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09a67250-1e55-4884-920e-7be00d950211 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5560137f-c0e1-49a6-b017-a39683009dff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31f1bdb7-54c5-49a8-8b7b-f2f19c05a450 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4c9dad4-22c6-407d-b491-62f612fd511a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00298_chassis_chassis_id_delete_member [0.142441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00305_node_history_get_entry_observer [0.143164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00126_portgroups_portgroup_ident_patch_observer [0.235513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00003_nodes_post_member [0.162218s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.180681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00264_nodes_allocation_delete_admin [0.250136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00005_nodes_get_node_admin [0.137406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00267_deploy_templates_post_admin [0.155022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00127_portgroups_portgroup_ident_delete_admin [0.182273s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00045_nodes_states_get_member [0.162097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00046_nodes_states_get_observer [0.076539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00274_deploy_templates_deploy_template_id_get_member [0.148562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00134_nodes_portgroups_detail_get_member [0.156069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00015_nodes_node_ident_get_member [0.192773s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33a29c2d-c534-4e3e-9c48-d917de7f9368 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-241557b3-efd1-4869-82dd-5275b1b4dd2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d494032f-598a-472f-8de1-104f4df928af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-498a83a8-52ce-46d0-9037-09d5019aa91c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-544eeb1a-7c96-4f59-87c4-55183a15f2b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38852e4a-6812-4349-8e6c-d111844af4fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aba02ec8-0cfd-4cbb-a3a0-54d2c960eff8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85758c5a-ac6a-4cb6-8d7f-93a17900c9bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5d694fb-acaa-4337-9950-ddd514de3f09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-139db6b9-edd2-4a70-b1aa-a9279a0c664d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/4c23917e-111e-4a65-9afd-484969ce183f DEBUG util.py:445: PATCH: /v1/allocations/4c23917e-111e-4a65-9afd-484969ce183f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5075283-2b2d-489e-83e3-489448056cf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4c23917e-111e-4a65-9afd-484969ce183f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-092cdc52-a53d-41f3-9d4a-1d89615e7e9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9ecf507-6208-46a3-be6d-7406005c00e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/3df10526-c9cc-415b-884f-0fa469376280 DEBUG util.py:445: GET: /v1/deploy_templates/3df10526-c9cc-415b-884f-0fa469376280 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5e0b849-acd9-4f10-8fb8-37ed4136b3d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/706ddeda-2b5b-434f-abfc-6c9515f4e959 DEBUG util.py:445: GET: /v1/deploy_templates/706ddeda-2b5b-434f-abfc-6c9515f4e959 {}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00275_deploy_templates_deploy_template_id_get_observer [0.072042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00017_nodes_node_ident_patch_admin [0.115687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00276_deploy_templates_deploy_template_id_patch_admin [0.102259s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00048_nodes_states_power_put_member [0.287457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00279_deploy_templates_deploy_template_id_delete_admin [0.061186s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00140_ports_post_member [0.219975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00021_nodes_node_ident_delete_member [0.109798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00280_deploy_templates_deploy_template_id_delete_member [0.061768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00025_nodes_validate_get_observer [0.091345s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00050_nodes_states_boot_mode_put_admin [0.121394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00141_ports_post_observer [0.159637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00282_chassis_post_admin [0.106636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00026_nodes_maintenance_put_admin [0.079297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00054_nodes_states_secure_boot_put_member [0.101924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00288_chassis_detail_get_admin [0.088527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00031_nodes_maintenance_delete_observer [0.099505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00289_chassis_detail_get_member [0.077472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00059_nodes_states_raid_put_admin [0.137472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00142_ports_detail_get_admin [0.186982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00033_nodes_management_boot_device_put_member [0.151781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00062_nodes_states_console_get_admin [0.108232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00292_chassis_chassis_id_get_member [0.119362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00145_ports_port_id_get_admin [0.166597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00067_nodes_vendor_passthru_methods_get_admin [0.120275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00039_nodes_management_boot_device_supported_get_member [0.171624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00299_chassis_chassis_id_delete_observer [0.159035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00148_ports_port_id_patch_admin [0.129621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00069_nodes_vendor_passthru_methods_get_observer [0.119947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00060_nodes_states_raid_put_member [0.101602s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00153_ports_port_id_delete_observer [0.095419s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00061_nodes_states_raid_put_observer [0.084287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00074_nodes_vendor_passthru_post_member [0.122568s] ... ok DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b8a4dd6-ac0b-45b2-af90-741e9a967157 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a9d9e618-98ae-4ebe-a058-69d468d2fd71 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a9d9e618-98ae-4ebe-a058-69d468d2fd71 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a06ba4b-ddb6-4514-8dba-3f16b38bca47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c49a06ba-e15d-4fb0-b789-cb775047c46a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12049767-d6f6-44d8-994c-c88de021e94b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c1eb5eb-b626-46ea-b9f8-21eeee1d2879 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-372ebf58-d979-43af-a392-76074855e3d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b0e49e5-8548-4ab4-bc0a-964ce847eb99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7be9ef2-7ba8-4ca7-a4b8-5af442d97583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d1fc455-93eb-415d-8a61-2b44698eae07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5aba8ad-10e3-47c9-9054-562f5511f075 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97fe8fec-64aa-44ac-a20b-febac0e37287 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1cbcc83-3ea5-46ad-bc4d-ffee04b78dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2082d58-fdc9-43d7-b879-f1217c67eb62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62fa8d5a-a055-46bc-aff0-ab9abc9cd9b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00062_nodes_states_console_get_admin [0.096312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00154_nodes_ports_get_admin [0.176855s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00082_nodes_traits_get_admin [0.132763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00300_node_history_get_admin [0.401430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00083_nodes_traits_get_member [0.100452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00303_node_history_get_entry_admin [0.073511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00155_nodes_ports_get_member [0.192872s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-955a7d73-890e-407f-96de-7f58d244a76b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-324c0ef3-8c18-49ae-91a7-5f5368b9bb97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4cf7f0d-ae95-46a2-8d9f-a3139ea9aa62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63dfe369-3706-4166-9f39-1a30e05090dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f54ff85-64d6-4031-a71c-6571ff8c6e52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c1f9272-13fc-46b1-8fa3-7b46e76cf21e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ada1affb-cd3e-43f8-9fd3-30be1bd55a12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94cbad8b-aa5a-4580-98c0-3865f2b1c65f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f2f13d8-c3e4-461c-b628-aaab749b61e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5939c78a-1205-4586-b79f-f91990128f33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6018171d-395b-404d-87b2-b6319cce7200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-241f0de4-2c49-4e81-843b-a66333fbefd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79b8f9ab-1816-455f-8e0a-cc305cc8cf1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae800b26-710a-4ea9-b977-bdb4f47965c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9711b222-d72b-4dab-82ad-b4ace7f6319e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00084_nodes_traits_get_observer [0.110650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00304_node_history_get_entry_member [0.123529s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00065_nodes_states_console_put_member [0.337883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00087_nodes_traits_put_observer [0.106813s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00157_nodes_ports_detail_get_admin [0.196570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00092_nodes_traits_trait_put_member [0.076545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00067_nodes_vendor_passthru_methods_get_admin [0.110890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00094_nodes_traits_trait_delete_admin [0.069503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00002_nodes_post_admin [0.195248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00069_nodes_vendor_passthru_methods_get_observer [0.111816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00095_nodes_traits_trait_delete_member [0.068503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00164_portgroups_ports_detail_get_member [0.212126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00100_nodes_vifs_post_admin [0.064696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00072_nodes_vendor_passthru_get_observer [0.105089s] ... ok DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-835f84a1-8e18-4af6-8645-ff7245ac25c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/1a6642ad-ca93-456a-af77-1eb8f8532020 DEBUG util.py:445: PATCH: /v1/deploy_templates/1a6642ad-ca93-456a-af77-1eb8f8532020 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22ded7dc-601c-4374-bf7a-107a3799d3bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/cd1111ee-5fed-458c-a33d-bab859bbe0b1 DEBUG util.py:445: DELETE: /v1/deploy_templates/cd1111ee-5fed-458c-a33d-bab859bbe0b1 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80c15b3e-018f-437b-9eee-2e5f592dac29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/5f8d2ae1-8936-44b2-aa1a-9291784a2cd4 DEBUG util.py:445: DELETE: /v1/deploy_templates/5f8d2ae1-8936-44b2-aa1a-9291784a2cd4 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-456b0080-b676-4fac-a813-21d31544c60e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3aeb187c-dc9b-4c6e-a9df-18f9781b554f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2ad18b2-34b0-4425-822e-62d1edec527a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-356757ce-6b94-4d25-91b6-0fe4c2190dd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6994cbdb-6608-4f31-adef-02a5ad42dc7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0fdab33-6df0-466e-9505-1d2ba29234b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaf7b9c3-145e-4b69-bcb6-bcc1a4345e66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/dbf96b95-181b-4ab1-ae8d-f727ebafd2f0 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/dbf96b95-181b-4ab1-ae8d-f727ebafd2f0 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb38c928-64b7-4a79-97fa-d6bf00e603a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4972b60f-e91c-4bbc-ae6e-6148bd4e8892 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4972b60f-e91c-4bbc-ae6e-6148bd4e8892 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7c0e8ef-b150-4f8a-960a-2bc81b951291 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ed7bce6-da70-41a0-b9be-e2e693e4b4c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64215bf6-b185-4a55-8e4e-648b0d2a7ed9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00008_nodes_get_node_other_admin [0.157134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00105_nodes_vifs_node_vif_ident_delete_observer [0.094105s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00075_nodes_vendor_passthru_post_observer [0.097414s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00165_portgroups_ports_detail_get_observer [0.175640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00106_nodes_management_indicators_get_admin [0.067114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00079_nodes_vendor_passthru_delete_admin [0.088189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00107_nodes_management_indicators_get_member [0.068113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00009_nodes_get_admin [0.211058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00084_nodes_traits_get_observer [0.081806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00089_nodes_traits_delete_member [0.102970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00014_nodes_node_ident_get_admin [0.219617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00116_portgroups_post_member [0.256192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00099_nodes_vifs_get_observer [0.128904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00100_nodes_vifs_post_admin [0.138354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00019_nodes_node_ident_patch_observer [0.217625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00117_portgroups_post_observer [0.253637s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f85d2805-e4c8-4134-8481-a69a2a824172 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6377a35d-dec2-44f5-8a1b-d41bf3885e9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25f8e5ef-39de-4a18-920c-8e0beffcf80c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e834bc0-84cc-4c0f-a948-905cb2caef3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58264a8a-4b34-4aac-b403-4fd9c50e7d06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-608440cb-99ad-4b31-881d-0adb2f2106f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb1e9ff5-410b-4784-a62e-936c54f2867b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98a1962f-4b52-4979-8551-8381aa66d053 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-171fdf22-3918-4702-a324-88323d5c00eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a036012-c07d-456d-8104-51ec76c22f49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99de38be-b6ff-4274-bf2a-3a18b4fd708a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb7c909c-a736-4e6e-9559-45c8a4633901 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-630ca4dc-1cc2-45a9-89f0-25fa0e76b424 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b9937ec-1147-48ad-976a-d973304700f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c7a8338-39ef-4255-b368-b6cb9ac16838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_rbac_legacy_00170_volume_connectors_get_member [0.447994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00172_volume_connectors_post_admin [0.163855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00102_nodes_vifs_post_observer [0.130921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00020_nodes_node_ident_delete_admin [0.188820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00104_nodes_vifs_node_vif_ident_delete_member [0.100577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00120_portgroups_detail_get_observer [0.193336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00174_volume_connectors_post_observer [0.152938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00106_nodes_management_indicators_get_admin [0.162687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00122_portgroups_portgroup_ident_get_member [0.140821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00022_nodes_node_ident_delete_observer [0.196782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00175_volume_volume_connector_id_get_admin [0.164516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00024_nodes_validate_get_member [0.156331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00183_volume_volume_connector_id_delete_observer [0.144435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00124_portgroups_portgroup_ident_patch_admin [0.204022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00028_nodes_maintenance_put_observer [0.138117s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a249a7e0-a943-43c1-831b-409b91a486cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0cbf856-5be0-4fdb-85d3-b0f037edddfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87461f35-d3ee-4ecc-9d78-74d977de308f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-936d983f-608b-40c3-ad5e-577daebc4f8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-040e6f3b-f6cc-4d3b-9e7b-fb71c625c39c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6d61597-4142-4587-a2cd-1a80d1c8e167 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed65a444-8c54-4f5a-a153-742461525179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c328e569-eef3-421f-8f74-45ffd4331ae9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6142fd9a-7dfc-4733-9764-89c2f779ae2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d1a08ca-1686-4b44-af4d-4fb649262a60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-976ac44b-e971-4760-ac33-32a4e2d9b07a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41b9a071-ffd9-48b1-8e9d-bb947d28a1e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33482965-d8f6-45cb-836b-ff3384509813 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72c2e3d2-0fbd-407e-9f4c-9e3ad13db72f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1310653-1a8b-4b51-9c69-abbe4d12f001 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00122_portgroups_portgroup_ident_get_member [0.152245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00184_volume_targets_get_admin [0.171780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00128_portgroups_portgroup_ident_delete_member [0.145760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00126_portgroups_portgroup_ident_patch_observer [0.151078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00187_volume_targets_post_admin [0.149852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00029_nodes_maintenance_delete_admin [0.249309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00138_ports_get_observer [0.130831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00190_volume_volume_target_id_get_admin [0.124940s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3dad158-4c69-4841-a8d2-3aeeba4b5fc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2e49962-e832-4064-abd8-fd005c3f470e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8325404-1626-48a6-8641-096960264cde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7dc7cf9-a16b-4b0d-bbbf-0d7422fa2179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f41dce71-230b-42b4-b617-b99957e54948 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2eaf43c3-37c3-4a42-bc48-f1110fe7c513 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2778d494-74b2-426b-9349-9997f3e1f699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9795e28a-744c-471f-871f-5b847b44ea49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d383495a-c450-4878-8e47-afe91c118400 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-083759fb-82d5-4eb9-a9e1-44c20a92d5ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebbee247-dafc-4b83-a434-983f948988d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86dde751-46dc-4d65-af12-de046d2865b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca9a302e-e162-436a-babc-8bd2c2805195 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2220c6f4-6b41-469c-857f-4f0b65e3f2b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f2ca9a5-5483-499b-a2e8-1a5300f7476a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00130_nodes_portgroups_get_admin [0.285594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00139_ports_post_admin [0.158085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00030_nodes_maintenance_delete_member [0.215195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00138_ports_get_observer [0.167841s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00193_volume_volume_target_id_patch_admin [0.193616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00148_ports_port_id_patch_admin [0.128104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00044_nodes_states_get_admin [0.199158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00150_ports_port_id_patch_observer [0.098573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00144_ports_detail_get_observer [0.204258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00194_volume_volume_target_id_patch_member [0.203040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00156_nodes_ports_get_observer [0.113858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00048_nodes_states_power_put_member [0.186180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00150_ports_port_id_patch_observer [0.197303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00157_nodes_ports_detail_get_admin [0.137563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00200_nodes_volume_get_member [0.205988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00054_nodes_states_secure_boot_put_member [0.191675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00158_nodes_ports_detail_get_member [0.121805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00202_nodes_volume_connectors_get_admin [0.130860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00158_nodes_ports_detail_get_member [0.234331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00162_portgroups_ports_get_observer [0.113278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00203_nodes_volume_connectors_get_member [0.133077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00063_nodes_states_console_get_member [0.216344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00221_drivers_vendor_passthru_methods_get_member [0.119934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00162_portgroups_ports_get_observer [0.161192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00165_portgroups_ports_detail_get_observer [0.184278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00066_nodes_states_console_put_observer [0.175493s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00224_drivers_vendor_passthru_get_member [0.147216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00169_volume_connectors_get_admin [0.123642s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00169_volume_connectors_get_admin [0.192577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00175_volume_volume_connector_id_get_admin [0.140371s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b03797a-36f8-401f-a097-ab796c6dd81a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4587d1da-a725-4c1a-9da2-52d710b86bfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56f114bf-81bf-45ca-aa6c-5fe954b0f21a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e6949be-3739-487e-9366-dfdfe49e9175 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-275428a3-8c64-4885-896e-b8e8efb58963 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c366980-d47f-4971-8c78-c347bfa41e33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-651fdadc-a1f0-4e97-ad97-04968ee122f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00eab46a-9895-493c-91c1-b32d9548aa93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-135aa8b5-708a-44be-b5fa-0e522c334fca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9a77f52-11b4-4929-8485-c19707512b9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9725177-5ccc-4c99-9394-a9a29635b055 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20c12ace-3110-4788-99b2-11fa244acc70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9fc09e9f-892f-40fb-b25d-e690091c262e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8deaf4c6-15e3-499b-9f8b-4743dd7b56ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00225_drivers_vendor_passthru_get_observer [0.164726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00179_volume_volume_connector_id_patch_member [0.091428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00184_volume_targets_get_admin [0.064859s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2cd9450-57a1-48bc-bb1b-707aecf05ffe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6b9f2e0-e838-46b8-a932-e4ceaa550039 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8fda6b5-e616-4f78-8d5f-7c481c007762 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e2700ac-e6ae-48bb-9720-c95663aa11bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ea846b3-ff60-4840-a734-93b1669697a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31361066-1b56-4ea2-9974-5c1233ed12e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2c8a31d-3240-4749-93d9-4f5fbea94d6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b9effae-ca85-411e-82e2-34e004706b2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2389291a-4d3d-46a5-b69c-be49c32959f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c8332a4-a5cc-473d-8558-4d5fdcedf101 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd81569a-dc2f-49e6-844c-58cb37d77c3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdddcdac-e892-4cbb-b469-b3775a89c490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d17d1bd-fe19-4afb-bde0-54fd36e3908f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb8aef9e-10d6-4189-91f9-5ee85a013b79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fed2d1fa-1731-41ae-89ab-363953966bf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00070_nodes_vendor_passthru_get_admin [0.219062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00178_volume_volume_connector_id_patch_admin [0.307246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00227_drivers_vendor_passthru_post_member [0.222305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00071_nodes_vendor_passthru_get_member [0.279414s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00229_drivers_vendor_passthru_put_admin [0.113964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00231_drivers_vendor_passthru_put_observer [0.078619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00179_volume_volume_connector_id_patch_member [0.367450s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fb9a3ad-f422-49e6-81b1-8c36355d49d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c36b6868-9421-4c46-8699-5571a65cff63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a375c82-5215-43f6-9709-dca2bb6acb1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81a18cef-1aee-40df-9f5e-af182e187472 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a1bf7e2-c25f-4735-9559-387a88d7ba8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bc732b9-2d35-4455-bae2-ec9aafc7ae1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4633a0e-f1da-45d9-9280-41ffd9deea2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30fbaf96-39e3-41b2-8843-2abcd06de83e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75a599e3-f7ec-4bb7-a0c6-076612e3a8e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e8e2a5a-a0a6-4291-ad18-24d389316a57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ee8927d-0b54-4886-b830-dbb073cbbb71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84e68d8a-cbf1-4cd5-ac4a-579a8b8fa934 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bf95d97-51d2-4933-b67a-df2a7cb12a26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0d0de23-dbd5-48bd-ac10-35ce1d6e1be6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-128565fc-ce56-4b4f-b600-47a94868d7c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00185_volume_targets_get_member [0.369416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00091_nodes_traits_trait_put_admin [0.363042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00235_nodes_bios_get_member [0.171019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00180_volume_volume_connector_id_patch_observer [0.178992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00193_volume_volume_target_id_patch_admin [0.251902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00236_nodes_bios_get_observer [0.139172s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00097_nodes_vifs_get_admin [0.249059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00241_conductors_get_member [0.102590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00182_volume_volume_connector_id_delete_member [0.243584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00213_drivers_driver_name_get_observer [0.229902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00242_conductors_get_observer [0.119185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00217_drivers_raid_logical_disk_properties_get_admin [0.078498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00101_nodes_vifs_post_member [0.264306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00244_conductors_hostname_get_member [0.141031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00185_volume_targets_get_member [0.299394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00252_allocations_allocation_id_get_admin [0.102844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00253_allocations_allocation_id_get_member [0.113552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00220_drivers_vendor_passthru_methods_get_admin [0.365656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00103_nodes_vifs_node_vif_ident_delete_admin [0.274690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00256_allocations_allocation_id_patch_member [0.146866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00186_volume_targets_get_observer [0.290229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00223_drivers_vendor_passthru_get_admin [0.182369s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00258_allocations_allocation_id_delete_admin [0.105510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00261_nodes_allocation_get_admin [0.122765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00189_volume_targets_post_observer [0.241586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00112_portgroups_get_admin [0.188993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00226_drivers_vendor_passthru_post_admin [0.341704s] ... ok DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e50f9de3-dd00-4f74-a121-1fe1f46eefa5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30acd408-77a1-47ae-bb9f-c16a129af29a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ba727e6-65e8-4d99-a5d4-c6fd2e6d0bbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8831e79b-7cf6-46e6-adc7-2b318fca7075 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e1b3b9e-2e2c-42bb-b6f4-e508aeadd14a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80ec637b-4996-47e6-9b6b-93890139256d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66306771-4500-41bf-8ffd-a3a21a222b49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d821122c-114b-452b-bce5-e28649785c46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-775a6427-6271-47ec-87c5-582eb1081dbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/8b31afdf-079a-449d-9f22-bb026ab34c8e DEBUG util.py:445: GET: /v1/allocations/8b31afdf-079a-449d-9f22-bb026ab34c8e {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32bfe925-7590-48f2-8f4e-dbb39d6f28ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8b31afdf-079a-449d-9f22-bb026ab34c8e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/16936ccc-5c70-4f73-ad2d-f54624021018 DEBUG util.py:445: GET: /v1/allocations/16936ccc-5c70-4f73-ad2d-f54624021018 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98a5bf34-7dc2-45ea-9720-338406ddcb4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 16936ccc-5c70-4f73-ad2d-f54624021018 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/526ab5f5-6da1-4a04-8fd2-bc699341219e DEBUG util.py:445: PATCH: /v1/allocations/526ab5f5-6da1-4a04-8fd2-bc699341219e [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bda4c758-0b41-44b5-87c1-7ba9d8011faf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 526ab5f5-6da1-4a04-8fd2-bc699341219e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/66504950-857e-458b-8eb8-855b92ae3153 DEBUG util.py:445: DELETE: /v1/allocations/66504950-857e-458b-8eb8-855b92ae3153 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8718b67-e368-408b-97f1-d29f7d8d5d13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 66504950-857e-458b-8eb8-855b92ae3153 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d856be5-a2fb-448d-a3bc-5f884ccfcaaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {}{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00263_nodes_allocation_get_observer [0.143276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00265_nodes_allocation_delete_member [0.078638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00114_portgroups_get_observer [0.109664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00272_deploy_templates_get_observer [0.078429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00191_volume_volume_target_id_get_member [0.317766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00278_deploy_templates_deploy_template_id_patch_observer [0.084373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00281_deploy_templates_deploy_template_id_delete_observer [0.099375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00115_portgroups_post_admin [0.316310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00283_chassis_post_member [0.169115s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bf2ac27-ca78-4ac0-8371-554d9a47944f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8c09487-5f69-49d3-9d2d-d59579dbb304 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33c6d85f-71a1-408c-b51a-bbfa89dc6851 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4656357-42ee-4134-b836-8113e58d18e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cba92da3-47af-4637-a1a8-53c61c3149ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-048b478b-93da-413a-b407-1fd54eefb8f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9974e68-960b-48f6-8415-3deeaa84c67c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17af7c98-fb5f-4afe-8b20-b39b019ea5cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff65b5db-5e46-4a8f-adea-0b87eadfae8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4421f5b0-0f48-4122-89a7-d3601da0d3a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ff4f1cc-fbde-4ddc-a2a9-3f28bb1d3666 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83715f69-37da-4539-8091-c2c28eed66ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bd1b3fd-b94e-4153-ab27-8e76c9d9fdd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-761d334b-6157-4820-961c-1871eee22535 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11ce9901-6f11-493b-a196-d5cf7d4b78b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00206_nodes_volume_targets_get_member [0.237254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00238_nodes_bios_bios_setting_get_member [0.141692s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00116_portgroups_post_member [0.162178s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00286_chassis_get_member [0.150372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00207_nodes_volume_targets_get_observer [0.224198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00240_conductors_get_admin [0.095682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00118_portgroups_detail_get_admin [0.068979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00121_portgroups_portgroup_ident_get_admin [0.063903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00129_portgroups_portgroup_ident_delete_observer [0.071074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00242_conductors_get_observer [0.175353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00291_chassis_chassis_id_get_admin [0.223987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00210_drivers_get_observer [0.178685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00130_nodes_portgroups_get_admin [0.081665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00211_drivers_driver_name_get_admin [0.129320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00131_nodes_portgroups_get_member [0.092058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00294_chassis_chassis_id_patch_admin [0.208670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00212_drivers_driver_name_get_member [0.121189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00250_allocations_get_member [0.249133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00141_ports_post_observer [0.126850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00295_chassis_chassis_id_patch_member [0.161353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00213_drivers_driver_name_get_observer [0.183480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00251_allocations_get_observer [0.182982s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90dbeaa4-6069-4b8b-92db-4620758893be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb24640e-279d-419e-873b-825a9d9b2256 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c07dea9-d977-4c66-b4de-997aad56779f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e61d80bb-9884-4a2b-9f56-3ada810dbb4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd25c3f2-3885-43bc-bd66-ac126c84eb91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1133e1ca-f953-458a-968e-c8dcf7f4e3fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d00b8bed-d983-4d91-8704-5a434a52c188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d86be57-ce73-4962-b0e3-b1e62ab30037 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25123eef-1df0-4d75-888e-cbc80c5e4694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4346db34-69b3-4955-87f9-0b08af932a28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db946d30-ce30-401d-95ea-a26207b53e80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f51c8521-8ee3-4206-810a-e62793874701 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96d35051-c883-4ba4-89ef-6d37a099909f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-112a0b90-813c-4d76-967a-44492873f12e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fd9db0c-b01a-453c-8261-c6542ce7714b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00143_ports_detail_get_member [0.127925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00147_ports_port_id_get_observer [0.105763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00214_drivers_properties_get_admin [0.180317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00297_chassis_chassis_id_delete_admin [0.238276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00252_allocations_allocation_id_get_admin [0.228224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00149_ports_port_id_patch_member [0.114468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00216_drivers_properties_get_observer [0.170893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00161_portgroups_ports_get_member [0.145156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00302_node_history_get_observer [0.205462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00255_allocations_allocation_id_patch_admin [0.168824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00258_allocations_allocation_id_delete_admin [0.095397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00163_portgroups_ports_detail_get_admin [0.157546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00220_drivers_vendor_passthru_methods_get_admin [0.203142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00164_portgroups_ports_detail_get_member [0.140805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ce4eccb-b183-468b-bef0-e9e3a0408aa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2b706d4-01ab-49be-ba74-520d2368b638 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-509c0a9f-0ac0-4c0d-9050-07606674d783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2651f26-3a0c-4688-9c71-19e1a2ac0601 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d61215f-8905-45ff-942b-c48927a48123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d20f7842-3e7d-4306-ad27-f085acec175b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ce91a93-9cb6-4837-b07b-88eeeb0a56f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86e1961b-726f-4a55-bcc9-6bd8e3f6958c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46b0e0d5-563a-40dd-a2c9-d715b58beed7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04aec8c7-9275-43f7-a1cd-07ced7968ec5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9af89fde-ab88-4b8e-a5da-8c3a9c12eb1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/3904e635-98f1-439a-b5c8-78d674817c1a DEBUG util.py:445: GET: /v1/allocations/3904e635-98f1-439a-b5c8-78d674817c1a {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c062eb9-5457-49b4-b5a1-ef5f1eac53bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3904e635-98f1-439a-b5c8-78d674817c1a could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/6b248c29-a0fb-4875-9491-75893ca9a383 DEBUG util.py:445: PATCH: /v1/allocations/6b248c29-a0fb-4875-9491-75893ca9a383 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e056309c-0e12-4612-959c-1a735006da81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6b248c29-a0fb-4875-9491-75893ca9a383 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/4e7e5ccf-1418-48b8-8c27-94b18def3ff7 DEBUG util.py:445: DELETE: /v1/allocations/4e7e5ccf-1418-48b8-8c27-94b18def3ff7 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7053c373-f6f7-4f3b-84b9-a5e6aed42300 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4e7e5ccf-1418-48b8-8c27-94b18def3ff7 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00264_nodes_allocation_delete_admin [0.122900s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00271_deploy_templates_get_member [0.109901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00170_volume_connectors_get_member [0.135165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00223_drivers_vendor_passthru_get_admin [0.299860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00275_deploy_templates_deploy_template_id_get_observer [0.133153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00006_nodes_get_node_member [0.239037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00173_volume_connectors_post_member [0.147441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00277_deploy_templates_deploy_template_id_patch_member [0.182897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00174_volume_connectors_post_observer [0.096495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00228_drivers_vendor_passthru_post_observer [0.241586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00178_volume_volume_connector_id_patch_admin [0.114277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00281_deploy_templates_deploy_template_id_delete_observer [0.117670s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-171f1054-81c6-428c-b879-320f4d3b6561 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12826f87-28f7-450d-bf3c-a4c63dd618fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93b8c0d7-a61e-493b-9824-9e4fc461d45e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/d2b35f73-086a-4f79-8794-7ebc115b65bb DEBUG util.py:445: PATCH: /v1/deploy_templates/d2b35f73-086a-4f79-8794-7ebc115b65bb [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d489732-a15b-4f88-90d2-964faf1f5373 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/fb5ed011-641a-492d-b198-70834308f545 DEBUG util.py:445: DELETE: /v1/deploy_templates/fb5ed011-641a-492d-b198-70834308f545 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfb489f3-c7af-49ce-a60d-7af8ada2098b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1cbfac8a-9758-47de-a634-934c9be2d393 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c8aca49-abd4-49e6-917b-219efa94214d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6a48be4-009c-406e-a799-f095fba583d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-898c6c39-1b8d-4e41-8999-a874e2b97a67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9422bf7e-ace7-4cfb-870d-2da85ba48cf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6468c8f1-5e7f-45c2-a481-fd8272c7bd11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df1d19aa-f350-434b-97cf-acc35bbfd6c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dc07005-93be-4585-8b39-053a961c3cb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67b48f35-a2d5-4dae-b52c-4dcb17312f39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_00007_nodes_get_node_observer [0.243153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00282_chassis_post_admin [0.098020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00180_volume_volume_connector_id_patch_observer [0.138258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00230_drivers_vendor_passthru_put_member [0.248820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00182_volume_volume_connector_id_delete_member [0.068449s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00010_nodes_get_other_admin [0.255819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00286_chassis_get_member [0.189763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00293_chassis_chassis_id_get_observer [0.102341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00189_volume_targets_post_observer [0.173349s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00013_nodes_detail_get_observer [0.184006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00295_chassis_chassis_id_patch_member [0.084333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00245_conductors_hostname_get_observer [0.171307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00296_chassis_chassis_id_patch_observer [0.095422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00023_nodes_validate_get_admin [0.145807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00246_allocations_post_admin [0.122667s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00198_volume_volume_target_id_delete_observer [0.219594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00298_chassis_chassis_id_delete_member [0.092636s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e9cb7bf-6189-4c18-8203-9b6b4bb3e76e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d727e961-4f94-4867-a3ce-1d8222895a7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-231374f3-9644-4076-a53f-bff412f970e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b289a13-c8c2-45ec-ae38-eed3e563fd0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcd21c95-44ec-46e2-b837-d37a2464e552 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a954b7e-17e0-40b7-9b0e-877e69f18c97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f156056-bbdd-42b1-a7e3-cc03ce03f2cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4575979-e1ba-4315-ab29-1800138fcc58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-342cf16a-ab56-4e5c-ad0e-f95d95b825f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0e25c47-49f9-4564-bd78-952b7ab4329d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5a7f468-8d19-4398-9210-490638c96aa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94cf5794-feb0-4bb0-a78d-9d4abbfa2255 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08cd738c-7e05-458a-ba0d-c07aede28880 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d57d3cae-b8ac-4d74-8ad5-a5077f4a2918 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00251_allocations_get_observer [0.075620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00302_node_history_get_observer [0.101512s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00254_allocations_allocation_id_get_observer [0.085737s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00032_nodes_management_boot_device_put_admin [0.285298s] ... ok DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33308442-6ea5-4eed-baa7-3af1c978aec5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3427bce1-f890-49c6-b4ba-8a1ded31cde3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/99c65034-9fc4-4361-8dcf-2c9919e200e1 DEBUG util.py:445: GET: /v1/deploy_templates/99c65034-9fc4-4361-8dcf-2c9919e200e1 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-619041e0-6b0d-4eff-b0e6-4984c7ac6eb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/03016893-7e45-4016-b4d3-c271709d4542 DEBUG util.py:445: PATCH: /v1/deploy_templates/03016893-7e45-4016-b4d3-c271709d4542 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ef96686-42e1-413b-b918-31a22b8f9298 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/df035324-512b-4e14-b31a-541efa7c33ad DEBUG util.py:445: DELETE: /v1/deploy_templates/df035324-512b-4e14-b31a-541efa7c33ad DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18da59da-2062-4ba0-b8a5-cdb69959cf4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eba3cddf-3fc2-4582-8c9f-b87e91258bd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e0074ae-ab45-46c2-8360-8239ec51c412 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-690b5dfd-d316-495a-9e2f-caefb3ffaf3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-594cbac4-359d-430f-b0e7-f37fbbb7cb68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ad46cfe-494a-4469-80cd-919b54621935 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-109ca2c5-86d7-414b-81b6-d0868df5b5ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d883068-d150-4141-a214-fb0a7feff852 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4642e7c1-1706-49c6-a34e-b975df832935 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:00.343134+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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.api.test_acl.TestRBACScopedRequests.test_system_scoped_00005_nodes_get_node_admin [0.086527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00260_allocations_allocation_id_delete_observer [0.182589s] ... ok DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5304c8a0-654c-4bad-87f8-28ad48c1055e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98af160e-12c6-423d-a5b5-74b566762d4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aee55b48-f860-4485-ac2b-57dd99fe560b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-793fc071-08c5-4306-bf4b-831b6494d1bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fc34fbe-b6ae-4f22-ad23-f38fb15ec5b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d75a2d75-46f5-4d9e-9dc9-395b61c5e761 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bbf08f3-d72f-44a7-9c61-b7cc99514934 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5101364-25a5-42b8-972d-cf97dfccae71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-472f2f04-ba46-44a6-8f25-d22652dcaadc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e78a5bc-9420-417c-8733-968a6263b770 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c8b39b0-cfb6-43c8-aa93-03e155ef6f13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35e3a510-dd70-4f2f-b8c8-32312ad5ae10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2167d2a2-fe7d-4d6c-b1fe-d6a1c6a6152f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b28b918a-197f-45a5-93a0-e910d746fd2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02357e75-8dcd-4806-b798-ac9b52a2e1a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00203_nodes_volume_connectors_get_member [0.293668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00205_nodes_volume_targets_get_admin [0.177024s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00037_nodes_management_boot_device_get_observer [0.287414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00266_nodes_allocation_delete_observer [0.244744s] ... ok DEBUG util.py:445: driver DEBUG util.py:445: fake-driverz DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4642e7c1-1706-49c6-a34e-b975df832935 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:00.343134+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-699ba024-cc0b-4da1-b478-b0e899bf4599 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:00.421414+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:52:00.424769+00:00", "updated_at": "2024-03-18T10:52:00.428428+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-driverz", "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", "traits": []}, "instance_uuid": "c7bf12fc-0617-4096-ba14-9b4e45939416", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "c7bf12fc-0617-4096-ba14-9b4e45939416", "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": "2024-03-18T10:52:00.442245+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", "cpus": "8", "local_gb": "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/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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-699ba024-cc0b-4da1-b478-b0e899bf4599 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:00.421414+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:52:00.424769+00:00", "updated_at": "2024-03-18T10:52:00.428428+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-driverz", "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", "traits": []}, "instance_uuid": "c7bf12fc-0617-4096-ba14-9b4e45939416", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "c7bf12fc-0617-4096-ba14-9b4e45939416", "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": "2024-03-18T10:52:00.442245+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", "cpus": "8", "local_gb": "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/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.api.test_acl.TestRBACScopedRequests.test_system_scoped_00011_nodes_detail_get_admin [0.082786s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-109a8aaf-9552-48f8-8d4e-5d3c1546016c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:00.501129+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:52:00.503899+00:00", "updated_at": "2024-03-18T10:52:00.507543+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-driverz", "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", "traits": []}, "instance_uuid": "a035419a-7a3e-4f6e-ab40-bd1094463280", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "a035419a-7a3e-4f6e-ab40-bd1094463280", "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": "2024-03-18T10:52:00.521234+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", "cpus": "8", "local_gb": "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/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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-109a8aaf-9552-48f8-8d4e-5d3c1546016c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:00.501129+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:52:00.503899+00:00", "updated_at": "2024-03-18T10:52:00.507543+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-driverz", "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", "traits": []}, "instance_uuid": "a035419a-7a3e-4f6e-ab40-bd1094463280", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "a035419a-7a3e-4f6e-ab40-bd1094463280", "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": "2024-03-18T10:52:00.521234+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", "cpus": "8", "local_gb": "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/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.api.test_acl.TestRBACScopedRequests.test_system_scoped_00012_nodes_detail_get_member [0.086230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00015_nodes_node_ident_get_member [0.068243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00020_nodes_node_ident_patch_member [0.097275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00023_nodes_node_ident_delete_member [0.071147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00206_nodes_volume_targets_get_member [0.221737s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00038_nodes_management_boot_device_supported_get_admin [0.212338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00207_nodes_volume_targets_get_observer [0.125304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00268_deploy_templates_post_member [0.274446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00211_drivers_driver_name_get_admin [0.060928s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af1d13fc-96cd-4d9f-9276-dbef5db0c3d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:00.584864+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af1d13fc-96cd-4d9f-9276-dbef5db0c3d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:00.584864+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ef92657-f5f0-4f3c-a13e-b4bf46e5e492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ef92657-f5f0-4f3c-a13e-b4bf46e5e492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70c60053-0792-4de6-86de-f8c0ccf0c662 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70c60053-0792-4de6-86de-f8c0ccf0c662 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47c6beb7-85fb-4e0e-a5f5-3124375d5c66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00028_nodes_maintenance_put_admin [0.253272s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00033_nodes_maintenance_delete_reader [0.071712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00214_drivers_properties_get_admin [0.097954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00035_nodes_management_boot_device_put_member [0.076726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00215_drivers_properties_get_member [0.075645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00040_nodes_management_boot_device_supported_get_observer [0.303418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00271_deploy_templates_get_member [0.234314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00043_nodes_management_inject_nmi_put_admin [0.073743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00216_drivers_properties_get_observer [0.058872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00045_nodes_management_inject_nmi_put_reader [0.072782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00219_drivers_raid_logical_disk_properties_get_observer [0.075304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00041_nodes_management_inject_nmi_put_admin [0.160865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00273_deploy_templates_deploy_template_id_get_admin [0.171168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00224_drivers_vendor_passthru_get_member [0.084357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00047_nodes_states_get_member [0.114827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00225_drivers_vendor_passthru_get_observer [0.101259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00054_nodes_states_boot_mode_put_reader [0.136645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00042_nodes_management_inject_nmi_put_member [0.221729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00230_drivers_vendor_passthru_put_member [0.131217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00277_deploy_templates_deploy_template_id_patch_member [0.248357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00063_nodes_states_raid_put_reader [0.148808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00231_drivers_vendor_passthru_put_observer [0.135999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00043_nodes_management_inject_nmi_put_observer [0.227211s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00284_chassis_post_observer [0.178404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00236_nodes_bios_get_observer [0.130535s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47c6beb7-85fb-4e0e-a5f5-3124375d5c66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a39684b9-6a0d-4ec3-8575-85af1ffe12e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a39684b9-6a0d-4ec3-8575-85af1ffe12e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2067d5da-47e6-4d59-9624-f4e9dbb19bea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2067d5da-47e6-4d59-9624-f4e9dbb19bea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a31899f2-3cef-47ab-b4f4-c576c45abc73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a31899f2-3cef-47ab-b4f4-c576c45abc73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-847fb0b5-4120-409c-a04b-a078e3fa62eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-847fb0b5-4120-409c-a04b-a078e3fa62eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5f3e876-7ae6-4ad1-a2f8-be6172c48d04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5f3e876-7ae6-4ad1-a2f8-be6172c48d04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09a6b207-4e26-4eae-822b-01733cfcf605 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09a6b207-4e26-4eae-822b-01733cfcf605 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10f09da0-9177-4502-9692-40c5ec736c1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10f09da0-9177-4502-9692-40c5ec736c1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96f1edab-1ea3-4a4c-a737-fc098e1ad2a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00065_nodes_states_console_get_member [0.161395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00066_nodes_states_console_put_admin [0.136719s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00045_nodes_states_get_member [0.202947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00290_chassis_detail_get_observer [0.194076s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02312467-fdf8-4e22-8e72-1a2aa5fc5fdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec3068e1-fbcd-4d80-bc19-e26518d49627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b57c0c9-c4d3-4e59-8d18-256a096cf965 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f62e012-bb6d-416e-841f-982ea111f135 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2efbfa83-6cc4-4f6f-8d7a-030ca4af609a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-786c63e1-6a57-4083-8cb2-d16405c690c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f945b46-adcf-47d7-b56e-4309e263b237 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39c500d2-f2d2-4acc-a4bd-afc285ac630f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1b76fdf-b239-481c-935a-edef24716dc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50679222-4e78-4a6a-ad55-6c29d332355e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25b9c52e-e5b1-41e1-b0e7-0d873253861a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-998b87c4-3b52-4259-b7bd-f510831b7fab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23340d94-4aa9-486c-9f48-6662b639d7ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1904996-9e87-498f-a55d-4b49d8da287d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00239_nodes_bios_bios_setting_get_observer [0.127572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00071_nodes_vendor_passthru_methods_get_reader [0.148770s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00247_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. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00049_nodes_states_power_put_observer [0.213353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00296_chassis_chassis_id_patch_observer [0.223864s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00248_allocations_post_observer [0.127495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00083_nodes_vendor_passthru_delete_reader [0.133618s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00301_node_history_get_member [0.210933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00050_nodes_states_boot_mode_put_admin [0.249270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00263_nodes_allocation_get_observer [0.219194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00084_nodes_traits_get_admin [0.221613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00268_deploy_templates_post_member [0.132170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00051_nodes_states_boot_mode_put_member [0.197909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00095_nodes_traits_trait_put_reader [0.172536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00004_nodes_post_observer [0.242608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00270_deploy_templates_get_admin [0.161490s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00098_nodes_traits_trait_delete_reader [0.159146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00011_nodes_detail_get_admin [0.200879s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00272_deploy_templates_get_observer [0.133876s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed206e33-c50e-479a-b75b-74656e5d9094 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed206e33-c50e-479a-b75b-74656e5d9094 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d645964-5f1e-4b41-904f-4f51d1fa1b6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91f4776c-5313-4637-a12e-262f7f10b30e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed9008b3-a79c-480b-87c9-0083fff782e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff7231ed-6307-423c-9666-9270cbecf71f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52da8fdf-c5d6-4b10-ba7c-744a4fa82cdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57c8df7a-67bc-462d-9bfd-cd01155818af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88e17c26-985e-4132-86de-4217bf8105e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-769eeb26-5750-4b68-b6dd-91403c00407e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ca24351-6155-44e7-aa48-38b2b02600da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c91d79f-e014-42c0-895f-d5fc0017d9bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c912c43-6806-4bbb-a6ea-2f4f852cb025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3dc7ae3-e988-454f-b5f4-6efeab1a8590 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d9a2668-afb0-4c7a-bff8-a37b27b5f1fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d04e322-a222-4f54-a04f-07b64854fbcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_00052_nodes_states_boot_mode_put_observer [0.201170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00105_nodes_vifs_node_vif_ident_delete_admin [0.159996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00278_deploy_templates_deploy_template_id_patch_observer [0.132021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00108_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: API ACL Testing Path get /v1/allocations/6f70e561-3d08-4dd7-946a-9c483e5636fc DEBUG util.py:445: GET: /v1/allocations/6f70e561-3d08-4dd7-946a-9c483e5636fc {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b207dd7d-e6da-4c97-a6b3-cb61bd1f9f58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6f70e561-3d08-4dd7-946a-9c483e5636fc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/cf7f2490-6dbc-4cec-a321-21a898f8c91b DEBUG util.py:445: DELETE: /v1/allocations/cf7f2490-6dbc-4cec-a321-21a898f8c91b DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b70c7d4-18f8-4ac1-a523-9fd521ba6efc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cf7f2490-6dbc-4cec-a321-21a898f8c91b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64d1b908-cf33-436f-ba07-23474862e296 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ada0178b-aa11-44a9-8e6e-148c836261f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76acb467-a488-4215-b86e-6e83b9132af3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/b7b48142-a7f9-4ed4-a00a-4db66fd7a2ff DEBUG util.py:445: GET: /v1/deploy_templates/b7b48142-a7f9-4ed4-a00a-4db66fd7a2ff {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-123c70c0-7386-4f34-9dcf-4143c0ce3bd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/8b5906ac-d9d0-42e2-b544-e9d8ff481597 DEBUG util.py:445: PATCH: /v1/deploy_templates/8b5906ac-d9d0-42e2-b544-e9d8ff481597 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08981388-c52e-44a5-892f-b638807b583d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6025f38-0821-4c39-b7d0-c5bac8874785 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d1e20b50-ee09-4041-8fb4-25e3ab7f112f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51b4878c-d122-43cc-88ec-0a6b27a0ad6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2d773b8-132d-4a9c-af65-8235f9dfc8a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2600ea22-3492-431a-a2fb-e004ae940868 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38e550de-6738-4fed-a2f5-5691c9631912 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fb05bba-324c-40c2-879f-56add0a2a972 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00012_nodes_detail_get_member [0.185040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00056_nodes_states_provision_put_admin [0.273699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00109_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00016_nodes_node_ident_get_observer [0.226491s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00058_nodes_states_provision_put_observer [0.182759s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96f1edab-1ea3-4a4c-a737-fc098e1ad2a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35ee72e2-0854-4add-a52b-962ea9054fd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35ee72e2-0854-4add-a52b-962ea9054fd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b80ffa9a-38aa-4e46-bd31-401922d76c75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b80ffa9a-38aa-4e46-bd31-401922d76c75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a540aaa-83c0-4cd3-816b-2d37c2abeb64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a540aaa-83c0-4cd3-816b-2d37c2abeb64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea7874f2-f8c2-46bf-b1d2-cd80c9ea0419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea7874f2-f8c2-46bf-b1d2-cd80c9ea0419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa2142e0-a322-46a8-829b-c805d3b72385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa2142e0-a322-46a8-829b-c805d3b72385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c0c2b25-43be-4b97-9eab-d335b272d0a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c0c2b25-43be-4b97-9eab-d335b272d0a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b8280f0-efde-4186-a2c2-af698caae8a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b8280f0-efde-4186-a2c2-af698caae8a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48b0437b-7e5b-4a43-9fc3-1ab646e25f22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48b0437b-7e5b-4a43-9fc3-1ab646e25f22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.api.test_acl.TestRBACScopedRequests.test_system_scoped_00112_portgroups_get_admin [0.218058s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00018_nodes_node_ident_patch_member [0.221552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00059_nodes_states_raid_put_admin [0.219633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00279_deploy_templates_deploy_template_id_delete_admin [0.532740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00113_portgroups_get_member [0.228549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00027_nodes_maintenance_put_member [0.200062s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00076_nodes_vendor_passthru_put_admin [0.227042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00280_deploy_templates_deploy_template_id_delete_member [0.196076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00116_portgroups_post_member [0.233733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00034_nodes_management_boot_device_put_observer [0.222098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00078_nodes_vendor_passthru_put_observer [0.185773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00284_chassis_post_observer [0.199430s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00082_nodes_traits_get_admin [0.159434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00120_portgroups_detail_get_reader [0.221620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00287_chassis_get_observer [0.202037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00035_nodes_management_boot_device_get_admin [0.258409s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00085_nodes_traits_put_admin [0.167371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00086_nodes_traits_put_member [0.120923s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00123_portgroups_portgroup_ident_get_reader [0.298575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00290_chassis_detail_get_observer [0.256264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00088_nodes_traits_delete_admin [0.102485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00036_nodes_management_boot_device_get_member [0.350770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00092_nodes_traits_trait_put_member [0.115656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00128_portgroups_portgroup_ident_delete_member [0.210780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00291_chassis_chassis_id_get_admin [0.289316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00299_chassis_chassis_id_delete_observer [0.283215s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00093_nodes_traits_trait_put_observer [0.399414s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40ceaea5-e98c-4107-ae36-d354a383b1bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40ceaea5-e98c-4107-ae36-d354a383b1bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63afbcf6-844a-48ed-838a-4366aa859812 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63afbcf6-844a-48ed-838a-4366aa859812 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a30dc3ea-ac77-49e0-bfbf-fe6ec708db03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:04.037416+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a30dc3ea-ac77-49e0-bfbf-fe6ec708db03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:04.037416+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15d54a14-6aeb-40b7-b1e4-41e355d6c264 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:04.274881+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15d54a14-6aeb-40b7-b1e4-41e355d6c264 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:04.274881+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4f8e51e-fc65-4c48-8642-a128544fd768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4f8e51e-fc65-4c48-8642-a128544fd768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-777225e4-3644-4385-a9aa-5f91923d6a8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-777225e4-3644-4385-a9aa-5f91923d6a8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.api.test_acl.TestRBACScopedRequests.test_system_scoped_00136_ports_get_admin [0.375131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00094_nodes_traits_trait_delete_admin [0.133843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00140_ports_post_member [0.254957s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83d29e3e-ef71-4f2e-8278-b47ff90afdd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f100c3c-1331-4f97-98be-7f95fa31817e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-317b48af-0b67-48fb-8f96-ceb3f0202219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97d7fb87-dd81-4d4d-8a52-30fcbe7377d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e28d723-e6cc-4c47-847a-da130c894265 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/e0986752-dfea-4284-a5da-dfae3cbf5a3c DEBUG util.py:445: PATCH: /v1/deploy_templates/e0986752-dfea-4284-a5da-dfae3cbf5a3c [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39c0b068-1461-4ab8-9ba5-6b413d17929b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/28fc67d1-10b1-4fef-8ea0-57d07d48d8f9 DEBUG util.py:445: DELETE: /v1/deploy_templates/28fc67d1-10b1-4fef-8ea0-57d07d48d8f9 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36b2cb63-7c00-43fe-9148-fe84463e0e02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/fa6cd73e-b083-4fa8-aca1-19ef07eaadaa DEBUG util.py:445: DELETE: /v1/deploy_templates/fa6cd73e-b083-4fa8-aca1-19ef07eaadaa DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-702fad1b-fca0-47d9-a167-c20c8f009116 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98d0d74e-b3b8-42cb-a928-519f474a8fb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c45f3ee-e1b0-4d4c-a750-144cb19721af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad4c8588-9850-46db-a47d-c9bf342ae153 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19e587b0-27e1-4436-873d-2e1e9dae43a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29ccde5b-577e-4987-99a1-993585a3bb90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c902c1a7-dcb6-4a07-8570-30a1672f5f68 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c902c1a7-dcb6-4a07-8570-30a1672f5f68 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bbd35db-8e67-4e8d-be9f-41326753af8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00304_node_history_get_entry_member [0.167954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00096_nodes_traits_trait_delete_observer [0.136346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00046_nodes_states_get_observer [0.757416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00108_nodes_management_indicators_get_observer [0.145227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00305_node_history_get_entry_observer [0.253407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00143_ports_detail_get_member [0.295024s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94b90c63-6f23-452e-81e3-9b0292c38ab5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f353a8da-0c3b-4164-83e8-4f591d3c3bc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b56e24e-6828-43a8-bf5d-43e8d3cb0612 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-697b3d39-58e5-4566-9ebb-18146925e24f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-822ba776-479b-44b3-8514-adb71d2bf964 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb512be0-c5c4-4734-921a-471d9ca552c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fbd46c2-d5c0-4ec2-b0af-3def91fbddd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77c27ddd-9ea1-4ba9-bfd7-198c983c207b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01cfd8ee-94d2-4241-b1a8-5c46fafebef0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dd5b0be-8a9c-4c1b-b6d0-ce3735c1b53e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-200171fa-25cc-4a0a-bb2c-16a4326e3704 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb55be0c-eee0-4b6a-88af-dd310f2f6086 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe18cbfb-a65e-4360-9bfb-463d9c0a753f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70f5ba2b-ef6e-497d-9131-137ade258f8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'}{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00117_portgroups_post_observer [0.108739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00047_nodes_states_power_put_admin [0.266501s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00123_portgroups_portgroup_ident_get_observer [0.147231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00147_ports_port_id_get_reader [0.248665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00124_portgroups_portgroup_ident_patch_admin [0.136163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00002_nodes_post_admin [0.397494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00053_nodes_states_secure_boot_put_admin [0.302697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00125_portgroups_portgroup_ident_patch_member [0.087622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00127_portgroups_portgroup_ident_delete_admin [0.134105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00055_nodes_states_secure_boot_put_observer [0.194206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00010_nodes_get_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00148_ports_port_id_patch_admin [0.368144s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00133_nodes_portgroups_detail_get_admin [0.162593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00153_ports_port_id_delete_reader [0.182740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00134_nodes_portgroups_detail_get_member [0.169344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00016_nodes_node_ident_get_reader [0.291174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00057_nodes_states_provision_put_member [0.342895s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00135_nodes_portgroups_detail_get_observer [0.074199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00136_ports_get_admin [0.088048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00137_ports_get_member [0.110749s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/aed06ff5-ed44-4fdd-b4a5-6b612fa2d43a DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/aed06ff5-ed44-4fdd-b4a5-6b612fa2d43a {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39471a37-6615-41fb-a7a1-610c946a677c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b0f043c-c819-47c4-9b05-9cf8751955d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b0f043c-c819-47c4-9b05-9cf8751955d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f74fa2c-aa7f-4fba-b1ce-df81f9d71e69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:06.173821+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f74fa2c-aa7f-4fba-b1ce-df81f9d71e69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:06.173821+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e0f8ec5-4743-449d-bf64-f93e0b0429db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e0f8ec5-4743-449d-bf64-f93e0b0429db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00022_nodes_node_ident_delete_admin [0.274728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00064_nodes_states_console_put_admin [0.282826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00154_nodes_ports_get_admin [0.388452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00140_ports_post_member [0.182996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00027_nodes_validate_get_reader [0.217481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00068_nodes_vendor_passthru_methods_get_member [0.255674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00145_ports_port_id_get_admin [0.111081s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000', 'address': '03:04:05:06:07:08'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f0bcb44-726c-414b-8c10-87e5fcda0630 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f0bcb44-726c-414b-8c10-87e5fcda0630 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bd85530-30cf-4832-8bb9-fecf0f2f5239 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:05.517721+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bd85530-30cf-4832-8bb9-fecf0f2f5239 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:05.517721+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27287e77-3c72-45b8-8ad8-46daae110b84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:05.742122+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27287e77-3c72-45b8-8ad8-46daae110b84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:05.742122+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f83a98d3-4957-49d8-bf98-1021baada671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f83a98d3-4957-49d8-bf98-1021baada671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6337b789-940a-4483-89bf-68b767194bb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6337b789-940a-4483-89bf-68b767194bb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-373d8880-4f51-492d-a70a-b787dd1269f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-373d8880-4f51-492d-a70a-b787dd1269f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00164_portgroups_ports_detail_get_member [0.334764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00146_ports_port_id_get_member [0.175897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00073_nodes_vendor_passthru_post_admin [0.268459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00031_nodes_maintenance_delete_admin [0.375693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00152_ports_port_id_delete_member [0.143088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00165_portgroups_ports_detail_get_reader [0.260406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00153_ports_port_id_delete_observer [0.136434s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa67ef56-dc3e-4721-b51d-3f5f556868ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d08c35ce-82a2-491f-bc1e-488baba62bbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-848afe61-72eb-49e7-8403-d936835f4032 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7ae0aae-dda1-4c30-b533-90c8d8c1fcbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c108f3d6-3dc8-4a27-822a-729eff3ea155 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ad7e1b8-d89f-45cc-aceb-1abe797d4e7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c10e963-fb81-4374-a306-8a564a81fbdc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98065476-df59-47e4-8b9e-33e111b36616 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a29b3067-c778-419c-879f-813f871ad045 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec90b6d7-6402-4206-a698-ceaa330840b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d96657d-06a5-418f-a9d6-94339e1a3eed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55d16681-c743-4d61-8676-c2c5b105e3a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2932ab1f-51b7-4e5e-bfe2-60f936075cf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45288643-3da9-40c0-ba89-4e4b98b59e8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00074_nodes_vendor_passthru_post_member [0.188293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00038_nodes_management_boot_device_get_member [0.245150s] ... ok DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fccd11c4-5621-4b44-b7d2-25a1928c514d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad4a69d0-3355-4cdf-acef-e105cc3a233e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1479bfae-94c1-4bc4-8d2e-8c8394067b0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-634b258e-a399-4b1f-9cb0-c135f9364f2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36296ccb-42ac-49d6-9b36-c2a1c9052ef7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e8f578a-2119-46a3-b26b-335ce670cb94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74be4097-3c80-4822-8399-256ce23b7b46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-128249eb-124c-4836-a30e-37e08ada7fc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbfee870-cb23-42b8-9cd0-165b767d378c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de93909b-7862-43f6-8be9-f9c470ff73ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68c86db7-bbed-4855-943d-759b0e2ef184 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b63c0ac1-95df-4050-9d59-04f1dec625b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e54ef29-41ae-4c33-aa53-88cacae05bf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac9881b6-eb22-4d8d-a17e-7a2e5accc270 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de715d49-e66f-4606-bd65-a7320554be35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f4844ac-4fb2-4b39-ac80-d3e4af0b720b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_00154_nodes_ports_get_admin [0.136967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00177_volume_volume_connector_id_get_reader [0.326514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00155_nodes_ports_get_member [0.149704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00077_nodes_vendor_passthru_put_member [0.303651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00041_nodes_management_boot_device_supported_get_member [0.294835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00160_portgroups_ports_get_admin [0.141852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00185_volume_targets_get_member [0.162090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00167_volume_get_member [0.134790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00080_nodes_vendor_passthru_delete_member [0.326667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00168_volume_get_observer [0.137409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00044_nodes_management_inject_nmi_put_member [0.329431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00186_volume_targets_get_reader [0.380533s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00171_volume_connectors_get_observer [0.131437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00081_nodes_vendor_passthru_delete_observer [0.200069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00048_nodes_states_get_reader [0.252387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00186_volume_targets_get_observer [0.151828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00187_volume_targets_post_admin [0.244509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00083_nodes_traits_get_member [0.224888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00188_volume_targets_post_member [0.162505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00087_nodes_traits_put_observer [0.067457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00053_nodes_states_boot_mode_put_member [0.234432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00090_nodes_traits_delete_observer [0.071169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00192_volume_volume_target_id_get_observer [0.119952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00095_nodes_traits_trait_delete_member [0.073990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00098_nodes_vifs_get_member [0.073013s] ... ok DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8308b29-1178-4c9a-86bb-416abd1fb409 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8308b29-1178-4c9a-86bb-416abd1fb409 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98bd1cc4-d25e-4840-a147-e74d528750d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98bd1cc4-d25e-4840-a147-e74d528750d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c824db7-0d46-428a-ba92-caf68f0a0ac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:07.587596+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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c824db7-0d46-428a-ba92-caf68f0a0ac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:07.587596+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"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71d15bc0-7311-4908-b70c-37f55890812d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71d15bc0-7311-4908-b70c-37f55890812d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2021109-6759-43d9-bacf-254b8266ca49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2021109-6759-43d9-bacf-254b8266ca49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/19521034-6595-4c14-bc32-c70e50603201 DEBUG util.py:445: Openstack-Request-Id: req-ec401867-229c-4d0c-8d2f-6f87286184d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "19521034-6595-4c14-bc32-c70e50603201", "created_at": "2024-03-18T10:52:08.514616+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/19521034-6595-4c14-bc32-c70e50603201", "rel": "self"}, {"href": "http://localhost/volume/targets/19521034-6595-4c14-bc32-c70e50603201", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/19521034-6595-4c14-bc32-c70e50603201 DEBUG util.py:445: Openstack-Request-Id: req-ec401867-229c-4d0c-8d2f-6f87286184d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "19521034-6595-4c14-bc32-c70e50603201", "created_at": "2024-03-18T10:52:08.514616+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/19521034-6595-4c14-bc32-c70e50603201", "rel": "self"}, {"href": "http://localhost/volume/targets/19521034-6595-4c14-bc32-c70e50603201", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-846ee1b7-94e1-45ad-8024-c40ac1674ea5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:08.707457+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_acl.TestRBACScopedRequests.test_system_scoped_00190_volume_volume_target_id_get_admin [0.287235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00197_volume_volume_target_id_delete_member [0.157648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00056_nodes_states_secure_boot_put_member [0.258282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00105_nodes_vifs_node_vif_ident_delete_observer [0.071548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00107_nodes_management_indicators_get_member [0.074304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00199_nodes_volume_get_admin [0.188485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00194_volume_volume_target_id_patch_reader [0.285601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00113_portgroups_get_member [0.067764s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-061b8676-ee77-470a-a91e-9aee0f8ec205 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-061b8676-ee77-470a-a91e-9aee0f8ec205 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fb07bd1-2057-4a6a-a8a1-91d0e2f518c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fb07bd1-2057-4a6a-a8a1-91d0e2f518c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9974630-bc4f-48aa-8069-60320abf38a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9974630-bc4f-48aa-8069-60320abf38a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b238eb8-be69-44f3-bf36-aba59c19fef7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b238eb8-be69-44f3-bf36-aba59c19fef7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c54e79e6-a969-4ac8-a0d8-af97d4827bc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c54e79e6-a969-4ac8-a0d8-af97d4827bc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4bd0b86f-170a-4d7d-a9b9-2d63b9925e61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4bd0b86f-170a-4d7d-a9b9-2d63b9925e61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d21f7568-4f4e-4901-a2d2-cb346b412a45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d21f7568-4f4e-4901-a2d2-cb346b412a45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de58f928-04db-4f41-8690-835054a92e5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de58f928-04db-4f41-8690-835054a92e5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00058_nodes_states_provision_put_admin [0.259397s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00119_portgroups_detail_get_member [0.094226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00200_nodes_volume_get_member [0.211711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00120_portgroups_detail_get_observer [0.075428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00199_nodes_volume_get_member [0.242834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00128_portgroups_portgroup_ident_delete_member [0.103372s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00072_nodes_vendor_passthru_get_admin [0.256010s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00201_nodes_volume_get_observer [0.215807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00207_drivers_get_admin [0.230316s] ... ok DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c540271c-da98-48a1-8102-30c3d04ee459 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bd6ede0-b02c-4568-9b6b-0d96d24c4655 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-477e252e-8c4f-4ca1-8969-c6d970ff2db9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12d9488e-bbc8-4c6b-9f8d-a94f203fa410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-151b1ff4-8a1f-4244-b7d5-432e5ed9fff5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5abb4d4d-36b5-481a-99f1-3860b43ade22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1c8745e-e8f1-458f-b458-3fbd36801861 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2314a0d4-358c-4a31-abc8-a8d6ca96de96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e698448-6a5a-4d81-8f72-cd9eb6c44e8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e301d1a-de41-4d9d-a0a6-b2077c8576fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4302e03b-3d0b-49a2-befe-d8dc28841e41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80609c65-dd77-4f6b-b5e6-2554c84a017a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c5dd1a2-cf99-4e5c-8c54-5937e9cb74bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a368efcf-378d-4bf1-a7f6-76550cd08aea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a13400b-d3de-420a-b2c7-71b6c9f087a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00132_nodes_portgroups_get_observer [0.119181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00073_nodes_vendor_passthru_get_member [0.184939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00142_ports_detail_get_admin [0.103244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00212_drivers_driver_name_get_member [0.207469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00144_ports_detail_get_observer [0.104155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00208_drivers_get_member [0.223816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00151_ports_port_id_delete_admin [0.108541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00229_drivers_vendor_passthru_put_admin [0.161975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00075_nodes_vendor_passthru_post_admin [0.260254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00159_nodes_ports_detail_get_observer [0.102687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00216_drivers_raid_logical_disk_properties_get_admin [0.210069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00166_volume_get_admin [0.080144s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00234_nodes_bios_get_admin [0.205002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00076_nodes_vendor_passthru_post_member [0.205872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00172_volume_connectors_post_admin [0.124230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00220_drivers_vendor_passthru_methods_get_member [0.167292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00176_volume_volume_connector_id_get_member [0.096875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00077_nodes_vendor_passthru_post_reader [0.175992s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa96a785-f2b4-45a9-b914-5295a441ebfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ebf550c-1f77-4379-9a71-e39d51c4adea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd8bd9b9-3227-4b5f-ac70-6d51d86f6226 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6920eef6-dc39-42f5-ae1f-b9e9dae494f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4c868e1-d940-447e-abf2-6c1258ddb726 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aef01a5f-b190-4863-9cba-9416660e48ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb232b0c-af65-4a72-8096-5fd87c6aca26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f42a5a86-7059-4b87-a6d7-193bc09d46d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89468365-9e07-46e5-9111-a5a36ac5edb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae5de6e4-ee94-4bd8-bbff-8ddfadec802e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6320c9c5-302f-4888-ad05-81f3a2c85b0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d70fc94-1940-4e98-9262-792ad18e1167 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4223ed57-6bdf-4ed2-b54a-a16fd1d2f2fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fe40fd6-84f7-4342-93a2-35d10f444caa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f58317c-4f32-4b0b-92a1-0792d42a8ff2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-252cb205-1c35-4dc0-82e4-e97f3a345b5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader 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_00241_conductors_get_member [0.175722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00177_volume_volume_connector_id_get_observer [0.143674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00253_allocations_allocation_id_get_member [0.152034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00227_drivers_vendor_passthru_post_reader [0.294399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00181_volume_volume_connector_id_delete_admin [0.081493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00082_nodes_vendor_passthru_delete_member [0.283512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00262_nodes_allocation_get_member [0.161426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00183_volume_volume_connector_id_delete_observer [0.134078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00266_nodes_allocation_delete_observer [0.119099s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-846ee1b7-94e1-45ad-8024-c40ac1674ea5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:08.707457+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"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87b5ceed-1de0-4973-b8bb-5a0d63b8bbf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87b5ceed-1de0-4973-b8bb-5a0d63b8bbf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd6ea0bc-b910-4435-8074-a849320c9081 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd6ea0bc-b910-4435-8074-a849320c9081 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f1fa2ed-b63b-46ab-8fcf-01410dd45176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f1fa2ed-b63b-46ab-8fcf-01410dd45176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbb58597-80b1-449e-a0ea-87ae83bb1f4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbb58597-80b1-449e-a0ea-87ae83bb1f4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dc9a075-436a-486c-ac57-38d3c17ff25a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dc9a075-436a-486c-ac57-38d3c17ff25a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86dc808e-4206-4f2d-be2d-48208fd5efff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86dc808e-4206-4f2d-be2d-48208fd5efff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-086b6b8d-bd2f-4dea-9740-f1311be72754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-086b6b8d-bd2f-4dea-9740-f1311be72754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d80bc73-63e3-4ceb-86c1-5b76fd9b26eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00228_drivers_vendor_passthru_put_admin [0.244607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00274_deploy_templates_deploy_template_id_get_member [0.103556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00090_nodes_traits_delete_admin [0.272677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00187_volume_targets_post_admin [0.129561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00190_volume_volume_target_id_get_admin [0.079804s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00232_drivers_vendor_passthru_delete_reader [0.184648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00276_deploy_templates_deploy_template_id_patch_admin [0.176831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00191_volume_volume_target_id_get_member [0.140153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00246_allocations_post_member [0.099757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00257_allocations_allocation_id_delete_admin [0.086446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00194_volume_volume_target_id_patch_member [0.153233s] ... ok DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e61bba92-7f99-4d59-bb9e-673eae897d4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e61bba92-7f99-4d59-bb9e-673eae897d4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66bd9321-7656-4886-be36-dc5759fc0444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66bd9321-7656-4886-be36-dc5759fc0444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56c8be60-fa03-4064-ad7e-750f936d5001 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56c8be60-fa03-4064-ad7e-750f936d5001 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3fe404d-0627-40b8-870d-b0cc6ace5fed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3fe404d-0627-40b8-870d-b0cc6ace5fed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7257f9fb-5cbe-4eb8-b399-111b466ed318 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7257f9fb-5cbe-4eb8-b399-111b466ed318 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7a1e522-a30e-4b96-8a4b-97c991772a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7a1e522-a30e-4b96-8a4b-97c991772a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbb8d4af-4b6f-43b5-8a14-d9023300f038 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbb8d4af-4b6f-43b5-8a14-d9023300f038 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebe3991f-4a68-4224-a199-a36067f64bd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebe3991f-4a68-4224-a199-a36067f64bd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83c0ed29-4bb3-4d52-9969-0269d6532ef5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00092_nodes_traits_delete_reader [0.168736s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00263_nodes_allocation_delete_admin [0.084202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00285_chassis_get_admin [0.229532s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00094_nodes_traits_trait_put_member [0.218053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00269_deploy_templates_get_admin [0.116137s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ec15c0a-ae0c-4dea-a1de-6f096260a412 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4eff0649-20e9-43b9-8c78-b8ee87227112 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78bbe95e-82ca-4dba-aba9-1400465e8ed8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-348229fc-600f-4c8d-a30f-e2c289a730ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c70d6bd4-8828-4566-b3e8-31b8167f39b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07d1c901-c916-4e55-86b6-75d496a1d64b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9592fa2-8d66-47cb-b67e-99b5699addab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2e09e4d-463b-41b8-80e7-bb20529bc113 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb4fb593-e926-428b-a392-7d7a60aaefd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afa59d0c-a8be-45b7-aafb-56b2409e390b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43d36204-94ae-4b70-a6bf-a01799a3382a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-967b48d4-50d5-4b66-8636-0820a2e09a1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab869b5a-7d5a-470c-8de8-62942a29b363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4a72585-caaa-4139-a2ad-add9b0020b8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c929e731-15be-4ec8-8b7d-27822feac931 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00195_volume_volume_target_id_patch_observer [0.145385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00196_volume_volume_target_id_delete_admin [0.101276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00100_nodes_vifs_get_member [0.155912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00271_deploy_templates_get_reader [0.095960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00273_deploy_templates_deploy_template_id_get_member [0.077553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00288_chassis_detail_get_admin [0.286637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00202_nodes_volume_connectors_get_admin [0.132668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00103_nodes_vifs_post_member [0.177277s] ... ok DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d80bc73-63e3-4ceb-86c1-5b76fd9b26eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a11bfd4-d728-4e35-b207-718bc39c3b60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a11bfd4-d728-4e35-b207-718bc39c3b60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05acb5ff-0766-47bf-a439-642df64d4c74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05acb5ff-0766-47bf-a439-642df64d4c74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/337450f4-f489-4ec4-93c6-9d3d595970fa DEBUG util.py:445: DELETE: /v1/allocations/337450f4-f489-4ec4-93c6-9d3d595970fa DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bd810d0-51a8-4808-ac53-d65cf3106432 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5bd810d0-51a8-4808-ac53-d65cf3106432 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93934155-59ad-4d9a-8612-0c9f088e1e64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93934155-59ad-4d9a-8612-0c9f088e1e64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3763097b-1a42-4a0c-961c-14888d8f47e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "23d25d76-c257-4213-b841-1d4ac1643ea6", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/23d25d76-c257-4213-b841-1d4ac1643ea6", "rel": "self"}, {"href": "http://localhost/deploy_templates/23d25d76-c257-4213-b841-1d4ac1643ea6", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3763097b-1a42-4a0c-961c-14888d8f47e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "23d25d76-c257-4213-b841-1d4ac1643ea6", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/23d25d76-c257-4213-b841-1d4ac1643ea6", "rel": "self"}, {"href": "http://localhost/deploy_templates/23d25d76-c257-4213-b841-1d4ac1643ea6", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e97110df-4fbf-42f5-a02d-27f98ecd7ede DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "b18192a7-be5c-4917-8d94-b26b2e7b5dde", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/b18192a7-be5c-4917-8d94-b26b2e7b5dde", "rel": "self"}, {"href": "http://localhost/deploy_templates/b18192a7-be5c-4917-8d94-b26b2e7b5dde", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e97110df-4fbf-42f5-a02d-27f98ecd7ede DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "b18192a7-be5c-4917-8d94-b26b2e7b5dde", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/b18192a7-be5c-4917-8d94-b26b2e7b5dde", "rel": "self"}, {"href": "http://localhost/deploy_templates/b18192a7-be5c-4917-8d94-b26b2e7b5dde", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/3cea4d5f-109d-4a19-9544-f667d8ff54a1 DEBUG util.py:445: GET: /v1/deploy_templates/3cea4d5f-109d-4a19-9544-f667d8ff54a1 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aba7228-45d7-44f3-9855-29e75b8a7f57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "3cea4d5f-109d-4a19-9544-f667d8ff54a1", "created_at": "2024-03-18T10:52:11.408640+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3cea4d5f-109d-4a19-9544-f667d8ff54a1", "rel": "self"}, {"href": "http://localhost/deploy_templates/3cea4d5f-109d-4a19-9544-f667d8ff54a1", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aba7228-45d7-44f3-9855-29e75b8a7f57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "3cea4d5f-109d-4a19-9544-f667d8ff54a1", "created_at": "2024-03-18T10:52:11.408640+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3cea4d5f-109d-4a19-9544-f667d8ff54a1", "rel": "self"}, {"href": "http://localhost/deploy_templates/3cea4d5f-109d-4a19-9544-f667d8ff54a1", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/b711f443-3e83-44da-8e1d-826870d11edf{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00204_nodes_volume_connectors_get_observer [0.104017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00275_deploy_templates_deploy_template_id_patch_admin [0.156706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00292_chassis_chassis_id_get_member [0.178973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00106_nodes_vifs_node_vif_ident_delete_member [0.113283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00208_drivers_get_admin [0.067831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00209_drivers_get_member [0.066675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00115_portgroups_post_admin [0.102072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00210_drivers_get_observer [0.062469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00294_chassis_chassis_id_patch_admin [0.128816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00278_deploy_templates_deploy_template_id_delete_admin [0.226900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00117_portgroups_post_reader [0.095097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00218_drivers_raid_logical_disk_properties_get_member [0.063329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00297_chassis_chassis_id_delete_admin [0.142093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00221_drivers_vendor_passthru_methods_get_member [0.064850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00222_drivers_vendor_passthru_methods_get_observer [0.070536s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83c0ed29-4bb3-4d52-9969-0269d6532ef5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-983846fc-1ecc-4701-accb-53165e8555d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-983846fc-1ecc-4701-accb-53165e8555d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6580b96e-b453-4f9e-8dae-2db3c9a2d901 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6580b96e-b453-4f9e-8dae-2db3c9a2d901 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d6ba31b-bd26-466c-891e-1b9b93a3b1b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d6ba31b-bd26-466c-891e-1b9b93a3b1b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73899f94-d53c-40e4-82f6-0303fbd65d0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73899f94-d53c-40e4-82f6-0303fbd65d0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2 DEBUG util.py:445: Openstack-Request-Id: req-1c5559c5-955c-4ada-94a7-864318e8807d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5df8f732-18a4-428f-a4c9-1ba9db0486d2", "created_at": "2024-03-18T10:52:11.750585+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2", "rel": "self"}, {"href": "http://localhost/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2/ports", "rel": "self"}, {"href": "http://localhost/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2/ports", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2 DEBUG util.py:445: Openstack-Request-Id: req-1c5559c5-955c-4ada-94a7-864318e8807d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5df8f732-18a4-428f-a4c9-1ba9db0486d2", "created_at": "2024-03-18T10:52:11.750585+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2", "rel": "self"}, {"href": "http://localhost/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2/ports", "rel": "self"}, {"href": "http://localhost/portgroups/5df8f732-18a4-428f-a4c9-1ba9db0486d2/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3be58d84-4d49-46f0-8c50-02214f4e5953 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3be58d84-4d49-46f0-8c50-02214f4e5953 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b7d036e-38dd-4b9d-8256-ba45483b66df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:11.899053+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00119_portgroups_detail_get_member [0.118733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00279_deploy_templates_deploy_template_id_delete_member [0.204051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00300_node_history_get_admin [0.154067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00227_drivers_vendor_passthru_post_member [0.103408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00121_portgroups_portgroup_ident_get_admin [0.147961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00228_drivers_vendor_passthru_post_observer [0.086838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00301_node_history_get_member [0.132289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00132_nodes_portgroups_get_reader [0.122094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00284_chassis_get_admin [0.212787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00235_nodes_bios_get_member [0.093127s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00303_node_history_get_entry_admin [0.180058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00135_nodes_portgroups_detail_get_reader [0.147513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00286_chassis_get_reader [0.190520s] ... ok DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-473514b3-7ebd-44da-bbf3-2ec187a17bd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69c51777-9338-434d-82b8-4778592d0544 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6129475-dc49-418d-9401-cc98fee63b7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d1cc8b7-34e2-4877-a5be-b6eedfca019c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-969c9e4a-c639-4fce-9e19-4296dd7d8f74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acce3f13-53e6-4a89-afb2-31c6d233f352 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92ce4d06-6541-4565-a99e-008d8b67fd82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06afbcd9-312b-471a-96c8-6558ab1df2ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31218883-07cb-49f2-b24b-29a473793128 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0de40510-074a-496a-b826-c3b60ad5e9bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c83d6fd-b6b9-4ddf-9f6f-f1be619459fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc4027bb-5e49-4a35-8c19-62f973acb8ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1acae088-c82e-45c0-a169-6e861c541741 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-babb20ba-931a-4bb9-a915-4c9bffee08ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00237_nodes_bios_bios_setting_get_admin [0.076955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00243_conductors_hostname_get_admin [0.065318s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00244_conductors_hostname_get_member [0.070606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00137_ports_get_member [0.104804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00245_conductors_hostname_get_observer [0.070311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00287_chassis_detail_get_admin [0.180113s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00246_allocations_post_admin [0.065724s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b7d036e-38dd-4b9d-8256-ba45483b66df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:11.899053+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7aeae2b9-09d1-4a49-a1d7-edb190066716 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:12.065765+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7aeae2b9-09d1-4a49-a1d7-edb190066716 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:12.065765+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-320c9e5a-fc03-4297-8eb4-a75817b185cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-320c9e5a-fc03-4297-8eb4-a75817b185cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c4288b8-dce3-4876-8d99-f39a98ec6a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:12.320710+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c4288b8-dce3-4876-8d99-f39a98ec6a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:12.320710+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2837d1f3-b99f-4f33-b2f8-d70dbf98665f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2837d1f3-b99f-4f33-b2f8-d70dbf98665f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77094402-f1b1-4efd-9031-425fd149d479 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00139_ports_post_admin [0.070279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00249_allocations_get_admin [0.062255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00146_ports_port_id_get_member [0.137978s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/allocations/6a4edf25-9ed4-4f7c-aa6e-1acb9ade8e9d DEBUG util.py:445: GET: /v1/allocations/6a4edf25-9ed4-4f7c-aa6e-1acb9ade8e9d {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b09d8533-7311-469b-b3de-06bcfb5baf65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6a4edf25-9ed4-4f7c-aa6e-1acb9ade8e9d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eec7b9cd-d1c5-4dc9-881b-ca4b6c95a0bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91e89e23-56f2-4a2a-944f-5ac4b77d3dd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/3a5639f2-ed8b-4a12-8900-a59ef1c0b77c DEBUG util.py:445: GET: /v1/deploy_templates/3a5639f2-ed8b-4a12-8900-a59ef1c0b77c {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8cfaced1-899e-4973-923f-aafbfa84c184 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/e0b530bc-faf3-4b55-a17e-c7086bdd31ef DEBUG util.py:445: PATCH: /v1/deploy_templates/e0b530bc-faf3-4b55-a17e-c7086bdd31ef [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71709595-323a-41c8-b383-60bb0f0d1168 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15219570-ef05-4e41-9086-f3450c160340 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a8fc294-b4c9-4cd2-911e-9da956c58c64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f77b915-c2bc-444a-99f9-677f7791efe1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-458ec71d-e74d-4dc1-aa65-5da786683328 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2f39046-85cd-49a1-b8f2-3ac31fccee93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-821ba0e1-1ca2-4e0c-ad55-70380be88358 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41ab4ca7-2808-4716-a3b8-2cc2a9755380 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4a8c1956-6817-430e-af95-cbc053c71141 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4a8c1956-6817-430e-af95-cbc053c71141 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbd107d7-46a0-43b0-b55d-03fd8ea956a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64436d93-baa7-41f3-b11d-13b979850c9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00004_nodes_post_reader [0.275786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00254_allocations_allocation_id_get_observer [0.069396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00006_nodes_get_node_member [0.146153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00256_allocations_allocation_id_patch_member [0.065815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00150_ports_port_id_patch_reader [0.151043s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00257_allocations_allocation_id_patch_observer [0.062273s] ... ok DEBUG util.py:445: PATCH: /v1/deploy_templates/b711f443-3e83-44da-8e1d-826870d11edf [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5f7c5cd-766b-4774-9964-a61d23b1cb18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b711f443-3e83-44da-8e1d-826870d11edf", "created_at": "2024-03-18T10:52:11.529008+00:00", "updated_at": "2024-03-18T10:52:11.594396+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b711f443-3e83-44da-8e1d-826870d11edf", "rel": "self"}, {"href": "http://localhost/deploy_templates/b711f443-3e83-44da-8e1d-826870d11edf", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5f7c5cd-766b-4774-9964-a61d23b1cb18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b711f443-3e83-44da-8e1d-826870d11edf", "created_at": "2024-03-18T10:52:11.529008+00:00", "updated_at": "2024-03-18T10:52:11.594396+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b711f443-3e83-44da-8e1d-826870d11edf", "rel": "self"}, {"href": "http://localhost/deploy_templates/b711f443-3e83-44da-8e1d-826870d11edf", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/9ec29a10-328a-4718-b110-ee967fa03467 DEBUG util.py:445: DELETE: /v1/deploy_templates/9ec29a10-328a-4718-b110-ee967fa03467 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1af1dd7c-478b-440b-a5ba-875c84673358 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1af1dd7c-478b-440b-a5ba-875c84673358 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/ac963b2f-c128-4ff6-9460-4ca04181bc78 DEBUG util.py:445: DELETE: /v1/deploy_templates/ac963b2f-c128-4ff6-9460-4ca04181bc78 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-290e3538-b54f-4750-a6a2-f2787c068bea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-290e3538-b54f-4750-a6a2-f2787c068bea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50b6f074-a483-46ba-b413-89b89e30c50b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50b6f074-a483-46ba-b413-89b89e30c50b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84b57900-117d-48f6-b95a-1bbdc257ac29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84b57900-117d-48f6-b95a-1bbdc257ac29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d0dfb59-41d6-4458-8ee5-3acc1ab7b208 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:12.560205+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"}]]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d0dfb59-41d6-4458-8ee5-3acc1ab7b208 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:12.560205+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"}]]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e082d4c0-5ed0-44e2-8de6-c43e6d8ba13b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:12.786763+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.test_acl.TestRBACScopedRequests.test_system_scoped_00290_chassis_chassis_id_get_admin [0.240706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00259_allocations_allocation_id_delete_member [0.081101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00156_nodes_ports_get_reader [0.136033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00295_chassis_chassis_id_patch_reader [0.162879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00260_allocations_allocation_id_delete_observer [0.073367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00261_nodes_allocation_get_admin [0.094257s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00162_portgroups_ports_get_reader [0.146802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00300_node_history_get_member [0.148785s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64436d93-baa7-41f3-b11d-13b979850c9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4b8baba-a318-4238-8c15-340785366236 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:12.716360+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4b8baba-a318-4238-8c15-340785366236 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:12.716360+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c689fae-453d-4bdc-9602-a2277934b802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:12.902070+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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.TestRBACScopedRequests.test_system_scoped_00007_nodes_get_node_reader [0.210143s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00008_nodes_get_node_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00169_volume_connectors_get_admin [0.093317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.056254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00170_volume_connectors_get_member [0.072741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.090301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.061831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00265_nodes_allocation_delete_member [0.293199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.081601s] ... ok DEBUG util.py:445: driver DEBUG util.py:445: fake-driverz DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c689fae-453d-4bdc-9602-a2277934b802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:12.902070+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3915ab33-ed51-48da-a51e-b7d7a61b46a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:13.261653+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:52:13.264321+00:00", "updated_at": "2024-03-18T10:52:13.271724+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-driverz", "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", "traits": []}, "instance_uuid": "69677678-8919-4acb-85e5-612822d6622a", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "69677678-8919-4acb-85e5-612822d6622a", "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": "2024-03-18T10:52:13.302102+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", "cpus": "8", "local_gb": "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/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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3915ab33-ed51-48da-a51e-b7d7a61b46a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:13.261653+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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": "2024-03-18T10:52:13.264321+00:00", "updated_at": "2024-03-18T10:52:13.271724+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-driverz", "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", "traits": []}, "instance_uuid": "69677678-8919-4acb-85e5-612822d6622a", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "69677678-8919-4acb-85e5-612822d6622a", "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": "2024-03-18T10:52:13.302102+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", "cpus": "8", "local_gb": "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/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"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00013_nodes_detail_get_reader [0.194607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.041116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00267_deploy_templates_post_admin [0.098402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00269_deploy_templates_post_observer [0.075837s] ... ok DEBUG util.py:445: ACL Test GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77094402-f1b1-4efd-9031-425fd149d479 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf5a7f2f-dd42-48e2-bc28-264f13bd063b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:12.627467+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf5a7f2f-dd42-48e2-bc28-264f13bd063b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:12.627467+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d59003f-5ef6-4f9f-8ff6-27183afa66fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d59003f-5ef6-4f9f-8ff6-27183afa66fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d0ebcff-a262-43cb-b132-ca12009fbd70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d0ebcff-a262-43cb-b132-ca12009fbd70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de05133e-452b-47a9-86bc-5ca91b64575e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de05133e-452b-47a9-86bc-5ca91b64575e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df8b67a3-fb0d-4527-8e0c-1954d1d833bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df8b67a3-fb0d-4527-8e0c-1954d1d833bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c00a9a4f-6562-4042-ae87-7e6fde35037f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c00a9a4f-6562-4042-ae87-7e6fde35037f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1ae93a9-effc-40b6-8227-389ba3a0321c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00171_volume_connectors_get_reader [0.106877s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00014_nodes_node_ident_get_admin [0.300260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00172_volume_connectors_post_admin [0.306188s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0400b3a-9f93-4f6e-a1e1-0218917a4b70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12e73208-141c-4001-a9b8-6b3e0021ba1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c39d548d-33d9-4018-af03-08b369087f00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba158f45-a22e-4f86-855b-0d6295a4f92e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7833bee4-1c77-4c4f-ac29-6e7582e3b57d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/e4928b6b-c103-4d64-988e-b7da84a1733f DEBUG util.py:445: GET: /v1/allocations/e4928b6b-c103-4d64-988e-b7da84a1733f {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2ff5723-9595-45f6-b1ae-7af978f62828 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e4928b6b-c103-4d64-988e-b7da84a1733f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/8c06c003-80b7-4ad6-b34f-5fc20babf2e0 DEBUG util.py:445: PATCH: /v1/allocations/8c06c003-80b7-4ad6-b34f-5fc20babf2e0 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abf446af-5697-4168-ba63-2a9a798fada3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8c06c003-80b7-4ad6-b34f-5fc20babf2e0 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/e717b8f2-b3ce-4f02-8bed-54a9ceba7f46 DEBUG util.py:445: PATCH: /v1/allocations/e717b8f2-b3ce-4f02-8bed-54a9ceba7f46 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ad69203-a5b8-43b1-8f48-4fdd998dc3b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e717b8f2-b3ce-4f02-8bed-54a9ceba7f46 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/bfb6afbd-90ce-4c8a-b80c-8d462eedc804 DEBUG util.py:445: DELETE: /v1/allocations/bfb6afbd-90ce-4c8a-b80c-8d462eedc804 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd9e18d6-02ea-4d8f-aab5-633a3a8d3b6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation bfb6afbd-90ce-4c8a-b80c-8d462eedc804 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/cafff2f0-11bb-4b1b-941d-ea28038dddbc DEBUG util.py:445: DELETE: /v1/allocations/cafff2f0-11bb-4b1b-941d-ea28038dddbc DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2b5d6aa-076d-40fb-93c0-4eab7768a4a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cafff2f0-11bb-4b1b-941d-ea28038dddbc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc56e5da-f2ad-426a-8cff-db5ef93ca3e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be291ac6-3157-4356-9d31-cc6971e775de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee327f00-ff8d-4d23-bfa3-b1ccccd41778 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-699c41df-35c4-4f8d-af8c-97c4052f2a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/51224772-41d6-4a5f-9f96-90e403a71183{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00273_deploy_templates_deploy_template_id_get_admin [0.138778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00283_chassis_post_member [0.118998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00173_volume_connectors_post_member [0.158293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.371954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00021_nodes_node_ident_patch_reader [0.215876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.065301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00289_chassis_detail_get_member [0.115795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.035783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.050477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00024_nodes_node_ident_delete_reader [0.201769s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.079053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.056939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00179_volume_volume_connector_id_patch_member [0.244462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00003_nodes_post_member [0.156098s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.079823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.056749s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eba502c-3931-40b6-974f-9778f901d28d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:13.460687+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eba502c-3931-40b6-974f-9778f901d28d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-03-18T10:52:13.460687+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-driverz", "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": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "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": ["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"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e40469b-757d-4b72-b270-c7065dce8cb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e40469b-757d-4b72-b270-c7065dce8cb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-282c5f15-9ce5-44d0-b8e0-04d9133b7d80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-282c5f15-9ce5-44d0-b8e0-04d9133b7d80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2b318eb-ea07-49f6-96c4-f554af0841e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00025_nodes_validate_get_admin [0.219337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.063099s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get_raid_logical_disk_properties": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:vendor_passthru": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:conductor:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:allocation:create_pre_rbac": "(rule:is_member and role:baremetal_admin) or (is_admin_project:True and role:admin)" failed scope check. The token used to make the request was system scoped but the policy requires ['project'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00009_nodes_get_admin [0.193295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.064111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00180_volume_volume_connector_id_patch_reader [0.269556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.047537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.051492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00017_nodes_node_ident_patch_admin [0.132117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00032_nodes_maintenance_delete_member [0.238788s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.061106s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00181_volume_volume_connector_id_delete_admin [0.173966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.052309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.042363s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.023083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00018_system_admin_can_patch_chassis [0.180519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.035412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00034_nodes_management_boot_device_put_admin [0.218676s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.041340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00183_volume_volume_connector_id_delete_reader [0.211388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.038739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.043971s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.039378s] ... ok DEBUG util.py:445: GET: /v1/deploy_templates/51224772-41d6-4a5f-9f96-90e403a71183 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27a160b8-819a-4aed-874e-0a94fef1dbcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef06f37a-9197-45cb-9868-4c7b3bbfe9f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c453752-9903-47f6-9921-43ceb8727470 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b869b7e-aa13-487f-9263-f8d569200467 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b869b7e-aa13-487f-9263-f8d569200467 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a69edfd8-2ee1-4806-baab-e5f66da67a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "f5a5f225-d98e-477e-9012-0d4dcc7f493d", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a69edfd8-2ee1-4806-baab-e5f66da67a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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": "f5a5f225-d98e-477e-9012-0d4dcc7f493d", "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"}]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4f38c45-dce1-4db0-9c51-501169c0adfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4f38c45-dce1-4db0-9c51-501169c0adfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1efb462e-7930-42de-97a5-6b7637501235 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1efb462e-7930-42de-97a5-6b7637501235 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/conductor_group', 'value': 'DC04-ROW39'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e18f7513-5074-4327-b635-3508a7a6f19b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e18f7513-5074-4327-b635-3508a7a6f19b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00019_system_member_can_patch_conductor_group [0.147248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00037_nodes_management_boot_device_get_admin [0.163060s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00026_nodes_validate_get_member [0.174009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.148423s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1ae93a9-effc-40b6-8227-389ba3a0321c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/314d749d-45c6-4d80-a21e-d62bae81f3e2 DEBUG util.py:445: Openstack-Request-Id: req-b0498ade-ac16-4936-9fec-de354dc6a9ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "314d749d-45c6-4d80-a21e-d62bae81f3e2", "created_at": "2024-03-18T10:52:13.714865+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/314d749d-45c6-4d80-a21e-d62bae81f3e2", "rel": "self"}, {"href": "http://localhost/volume/connectors/314d749d-45c6-4d80-a21e-d62bae81f3e2", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/314d749d-45c6-4d80-a21e-d62bae81f3e2 DEBUG util.py:445: Openstack-Request-Id: req-b0498ade-ac16-4936-9fec-de354dc6a9ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "314d749d-45c6-4d80-a21e-d62bae81f3e2", "created_at": "2024-03-18T10:52:13.714865+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/314d749d-45c6-4d80-a21e-d62bae81f3e2", "rel": "self"}, {"href": "http://localhost/volume/connectors/314d749d-45c6-4d80-a21e-d62bae81f3e2", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/ca6bd39c-b911-4041-9f61-756628ff1a90 DEBUG util.py:445: Openstack-Request-Id: req-37ad5751-d40f-4bab-8e02-e62228509b26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ca6bd39c-b911-4041-9f61-756628ff1a90", "created_at": "2024-03-18T10:52:13.873768+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/ca6bd39c-b911-4041-9f61-756628ff1a90", "rel": "self"}, {"href": "http://localhost/volume/connectors/ca6bd39c-b911-4041-9f61-756628ff1a90", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/ca6bd39c-b911-4041-9f61-756628ff1a90 DEBUG util.py:445: Openstack-Request-Id: req-37ad5751-d40f-4bab-8e02-e62228509b26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ca6bd39c-b911-4041-9f61-756628ff1a90", "created_at": "2024-03-18T10:52:13.873768+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/ca6bd39c-b911-4041-9f61-756628ff1a90", "rel": "self"}, {"href": "http://localhost/volume/connectors/ca6bd39c-b911-4041-9f61-756628ff1a90", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc32a1f2-0313-4a41-84fb-5a95409bd783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc32a1f2-0313-4a41-84fb-5a95409bd783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4df5d02-b5f2-4684-b838-f35a16957ee9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4df5d02-b5f2-4684-b838-f35a16957ee9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5b76844-26a8-402b-ad17-ac6fcfd7b838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5b76844-26a8-402b-ad17-ac6fcfd7b838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b60b6df5-c737-4bcc-a1ff-bdea762e2009 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b60b6df5-c737-4bcc-a1ff-bdea762e2009 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00188_volume_targets_post_member [0.287793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00029_nodes_maintenance_put_member [0.124877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.122544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.082886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00052_nodes_states_boot_mode_put_admin [0.318706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.054006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.045408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00030_nodes_maintenance_put_reader [0.167807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00191_volume_volume_target_id_get_member [0.259405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.056146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00036_nodes_management_boot_device_put_reader [0.106934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00059_nodes_states_provision_put_member [0.213879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.074693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00039_nodes_management_boot_device_get_reader [0.076597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.089521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00192_volume_volume_target_id_get_reader [0.255257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00040_nodes_management_boot_device_supported_get_admin [0.086477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.084828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.041033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00042_nodes_management_boot_device_supported_get_reader [0.080767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.066262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00068_nodes_states_console_put_reader [0.305903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00046_nodes_states_get_admin [0.086270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.055718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.042844s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.036898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_fallback [0.048728s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-567c925a-7792-4a5b-bcb9-e40cb366cf1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-567c925a-7792-4a5b-bcb9-e40cb366cf1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15bd6217-9f0d-4d8e-bdc0-f0838517eac4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15bd6217-9f0d-4d8e-bdc0-f0838517eac4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5eadb39f-040f-469f-9da3-a2c18f172124 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5eadb39f-040f-469f-9da3-a2c18f172124 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-beb84597-9984-4740-9aa2-ba6e20612212 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-beb84597-9984-4740-9aa2-ba6e20612212 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14bef83d-1bfd-4656-bd6d-d295a910cf5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14bef83d-1bfd-4656-bd6d-d295a910cf5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c24b8957-1fd4-4863-957e-44621a504da6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c24b8957-1fd4-4863-957e-44621a504da6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-825bc9f2-e5e7-4c94-b76f-c3a500446c44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-825bc9f2-e5e7-4c94-b76f-c3a500446c44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b56f16c-fc02-4674-824a-46ab195349ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b56f16c-fc02-4674-824a-46ab195349ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00049_nodes_states_power_put_admin [0.078123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00050_nodes_states_power_put_member [0.107977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.061579s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00051_nodes_states_power_put_reader [0.075827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.049358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00193_volume_volume_target_id_patch_admin [0.431254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00079_nodes_vendor_passthru_put_member [0.325687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.041381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00055_nodes_states_secure_boot_put_admin [0.083673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.035110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.098376s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00057_nodes_states_secure_boot_put_reader [0.114086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00198_nodes_volume_get_admin [0.222541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.045153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00060_nodes_states_provision_put_reader [0.106457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00086_nodes_traits_get_reader [0.259305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.074953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.044799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.071460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00061_nodes_states_raid_put_admin [0.130976s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.054640s] ... ok DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/1386ed4e-46df-4fde-b754-afee2012cbcd DEBUG util.py:445: Openstack-Request-Id: req-9b2d22e5-55aa-41c5-89e8-7ea683d24a20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1386ed4e-46df-4fde-b754-afee2012cbcd", "created_at": "2024-03-18T10:52:15.110100+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1386ed4e-46df-4fde-b754-afee2012cbcd", "rel": "self"}, {"href": "http://localhost/volume/targets/1386ed4e-46df-4fde-b754-afee2012cbcd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/1386ed4e-46df-4fde-b754-afee2012cbcd DEBUG util.py:445: Openstack-Request-Id: req-9b2d22e5-55aa-41c5-89e8-7ea683d24a20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1386ed4e-46df-4fde-b754-afee2012cbcd", "created_at": "2024-03-18T10:52:15.110100+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1386ed4e-46df-4fde-b754-afee2012cbcd", "rel": "self"}, {"href": "http://localhost/volume/targets/1386ed4e-46df-4fde-b754-afee2012cbcd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b9b9e18-1d3b-46a6-a87e-bbc150f0a7d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:15.215708+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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b9b9e18-1d3b-46a6-a87e-bbc150f0a7d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:15.215708+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"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd1d4c42-d114-4fdb-b2b4-05c8db59e3ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:15.542619+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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd1d4c42-d114-4fdb-b2b4-05c8db59e3ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:15.542619+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"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8aadf41-a6bb-4628-a0b4-2129dc9f9262 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8aadf41-a6bb-4628-a0b4-2129dc9f9262 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bff5ff5-413b-4b2c-861d-1e1956fa584a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bff5ff5-413b-4b2c-861d-1e1956fa584a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00200_nodes_volume_get_reader [0.280571s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.041646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.040832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.042697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00062_nodes_states_raid_put_member [0.180898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.038400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00213_drivers_properties_get_admin [0.189021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.032448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.049790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.030498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.047680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.059329s] ... ok DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97f84a7e-cd06-4b3a-96f8-4227b5072827 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97f84a7e-cd06-4b3a-96f8-4227b5072827 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d61f4354-7c73-4f3d-9d61-1e1557721d15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d61f4354-7c73-4f3d-9d61-1e1557721d15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8f4d01d-d96d-40dc-8ca6-e8507cf53ab2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8f4d01d-d96d-40dc-8ca6-e8507cf53ab2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0baf186f-e817-4fe8-80b0-270dcf281790 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0baf186f-e817-4fe8-80b0-270dcf281790 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87268442-b5c4-4d10-b059-bad59e9e4024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87268442-b5c4-4d10-b059-bad59e9e4024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f806bdb6-35c4-47d1-b9ea-9361b66398fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f806bdb6-35c4-47d1-b9ea-9361b66398fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d810c835-1830-4504-8d93-0d63ebebb7b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d810c835-1830-4504-8d93-0d63ebebb7b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb3fccbe-5211-408b-8fab-e34a41d2efba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb3fccbe-5211-408b-8fab-e34a41d2efba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ce51e3b-b86a-45cd-81ff-080b0a0f2c56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00064_nodes_states_console_get_admin [0.243364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.022604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.041163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00215_drivers_properties_get_reader [0.261169s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2b318eb-ea07-49f6-96c4-f554af0841e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f84008fd-5c0f-488e-aeb6-83df42d51a17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f84008fd-5c0f-488e-aeb6-83df42d51a17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37749f36-a104-4600-8d3c-3f0ae39f8102 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37749f36-a104-4600-8d3c-3f0ae39f8102 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac67798b-3a83-44e2-bfae-cbf8dcbc720a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac67798b-3a83-44e2-bfae-cbf8dcbc720a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edd073c2-c1b6-4a0d-ab17-f44f7b21c25b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-edd073c2-c1b6-4a0d-ab17-f44f7b21c25b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c7dc86b-4f47-428f-a129-51957d2a352b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c7dc86b-4f47-428f-a129-51957d2a352b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d301d74c-8ae0-4c52-946e-e92420ec1501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d301d74c-8ae0-4c52-946e-e92420ec1501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aae9e98-f7aa-453a-a59f-f6aff6da869d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aae9e98-f7aa-453a-a59f-f6aff6da869d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed5ae279-14d8-4e32-940b-7a8ba05dce4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed5ae279-14d8-4e32-940b-7a8ba05dce4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00087_nodes_traits_put_admin [0.632422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.046045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.047501s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00088_nodes_traits_put_member [0.148825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.054666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00221_drivers_vendor_passthru_methods_get_reader [0.189987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.051772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00067_nodes_states_console_put_member [0.287119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.052639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.034115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.047074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00089_nodes_traits_put_reader [0.172680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.020667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00069_nodes_vendor_passthru_methods_get_admin [0.165973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.037191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00225_drivers_vendor_passthru_post_admin [0.195356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.040664s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.027637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00091_nodes_traits_delete_member [0.160018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.047068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.042392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.040347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00070_nodes_vendor_passthru_methods_get_member [0.207319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.037444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00226_drivers_vendor_passthru_post_member [0.227214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00093_nodes_traits_trait_put_admin [0.163894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.055165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.059064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.040496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.019646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00097_nodes_traits_trait_delete_member [0.152280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00074_nodes_vendor_passthru_get_reader [0.263253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.048318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.041721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00231_drivers_vendor_passthru_delete_admin [0.266157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00099_nodes_vifs_get_admin [0.123597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.060625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.025190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.044113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.061558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00078_nodes_vendor_passthru_put_admin [0.221703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.015157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00101_nodes_vifs_get_reader [0.186536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.048423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.087491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00080_nodes_vendor_passthru_put_reader [0.199230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.074533s] ... ok DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48c85be1-e60a-4916-8f0f-2feb8e2e0b77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48c85be1-e60a-4916-8f0f-2feb8e2e0b77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-764c0ae3-1699-4ee4-a933-412b92fefb86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-764c0ae3-1699-4ee4-a933-412b92fefb86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53c533ce-32ee-4170-a9a6-a725d40470af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53c533ce-32ee-4170-a9a6-a725d40470af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38f8b557-b10e-4a8f-9e2e-1c91d6e1c4d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38f8b557-b10e-4a8f-9e2e-1c91d6e1c4d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83775f0b-dd7e-4778-82c0-db942ff5bb48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-83775f0b-dd7e-4778-82c0-db942ff5bb48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12c136e9-d0af-4ac4-94b1-4b8f59874191 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12c136e9-d0af-4ac4-94b1-4b8f59874191 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bc93001-9508-4e05-875f-553e39a5f3cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bc93001-9508-4e05-875f-553e39a5f3cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a96eb068-6efc-49e8-a572-f8933978f51e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a96eb068-6efc-49e8-a572-f8933978f51e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7e9a88d-ff37-42c4-9a30-daad76ba34cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7e9a88d-ff37-42c4-9a30-daad76ba34cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00102_nodes_vifs_post_admin [0.202654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.086974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00081_nodes_vendor_passthru_delete_admin [0.181984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.051072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00104_nodes_vifs_post_reader [0.173263s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.114081s] ... ok DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07fdc4a5-493c-49b0-87db-a40c5fc0165c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07fdc4a5-493c-49b0-87db-a40c5fc0165c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c576b5c-7d08-49b5-8be8-5ec677fae4d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c576b5c-7d08-49b5-8be8-5ec677fae4d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b20215fb-7add-4837-9d74-bfef746d1c7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b20215fb-7add-4837-9d74-bfef746d1c7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-882b0918-c866-42fc-85bb-c84627e46137 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-882b0918-c866-42fc-85bb-c84627e46137 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-559b6953-90d9-451f-9977-02dda902aba4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-559b6953-90d9-451f-9977-02dda902aba4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a66f188f-b27c-445f-83c4-6864e235c194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a66f188f-b27c-445f-83c4-6864e235c194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e1e6f4b-a931-48bd-a1a0-a65564d82ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e1e6f4b-a931-48bd-a1a0-a65564d82ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29c96339-5d95-450e-93d6-9a90d02715f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:52:18.351043+00:00", "updated_at": "2024-03-18T10:52:18.351884+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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29c96339-5d95-450e-93d6-9a90d02715f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:52:18.351043+00:00", "updated_at": "2024-03-18T10:52:18.351884+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_00242_conductors_hostname_get_admin [0.617622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00122_portgroups_portgroup_ident_get_member [0.177248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.075062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.066795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00243_conductors_hostname_get_member [0.216711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00085_nodes_traits_get_member [0.337684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.082533s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00124_portgroups_portgroup_ident_patch_admin [0.167927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.068501s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00248_allocations_get_admin [0.227956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00126_portgroups_portgroup_ident_patch_reader [0.144974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.118723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.045917s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.030012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.033282s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ce51e3b-b86a-45cd-81ff-080b0a0f2c56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7874681c-ce17-4f4d-8282-b3e9151ec7f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7874681c-ce17-4f4d-8282-b3e9151ec7f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c7ac9c5-5be9-4df3-9eb7-08a0a20f9145 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c7ac9c5-5be9-4df3-9eb7-08a0a20f9145 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43862434-f232-4815-96d6-714c8c99d22e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43862434-f232-4815-96d6-714c8c99d22e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f7886bc-e2d5-412d-aff9-88ed452e562d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f7886bc-e2d5-412d-aff9-88ed452e562d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18d77447-4aea-4ec3-bd4d-29cab3495834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18d77447-4aea-4ec3-bd4d-29cab3495834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abc19199-ff69-4ca4-8a11-add0f6b748f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abc19199-ff69-4ca4-8a11-add0f6b748f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecd7f4f6-7378-4f96-8ce6-cd516ba01bcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecd7f4f6-7378-4f96-8ce6-cd516ba01bcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c757566-c252-4f05-9326-fe2669b706cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c757566-c252-4f05-9326-fe2669b706cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00096_nodes_traits_trait_delete_admin [0.220152s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00252_allocations_allocation_id_get_member [0.244747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00129_portgroups_portgroup_ident_delete_reader [0.227029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00107_nodes_vifs_node_vif_ident_delete_reader [0.247644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00253_allocations_allocation_id_get_reader [0.164687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00138_ports_get_reader [0.185696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ccfbd37-9d79-40d4-98e3-3280caedabd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:52:18.636185+00:00", "updated_at": "2024-03-18T10:52:18.637022+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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ccfbd37-9d79-40d4-98e3-3280caedabd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:52:18.636185+00:00", "updated_at": "2024-03-18T10:52:18.637022+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} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd9a98d5-0b6e-4fe5-a540-959373e46eff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "a283eac2-f9ca-49b8-8812-0172ad2be6f4", "created_at": "2024-03-18T10:52:18.853014+00:00", "updated_at": "2024-03-18T10:52:18.859876+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/a283eac2-f9ca-49b8-8812-0172ad2be6f4", "rel": "self"}, {"href": "http://localhost/allocations/a283eac2-f9ca-49b8-8812-0172ad2be6f4", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd9a98d5-0b6e-4fe5-a540-959373e46eff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "a283eac2-f9ca-49b8-8812-0172ad2be6f4", "created_at": "2024-03-18T10:52:18.853014+00:00", "updated_at": "2024-03-18T10:52:18.859876+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/a283eac2-f9ca-49b8-8812-0172ad2be6f4", "rel": "self"}, {"href": "http://localhost/allocations/a283eac2-f9ca-49b8-8812-0172ad2be6f4", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/78d055d7-8f2f-4ec7-9578-607b733ccd92 DEBUG util.py:445: GET: /v1/allocations/78d055d7-8f2f-4ec7-9578-607b733ccd92 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3db24f25-2d8e-498d-b8fe-9b103eab37d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "78d055d7-8f2f-4ec7-9578-607b733ccd92", "created_at": "2024-03-18T10:52:19.057343+00:00", "updated_at": "2024-03-18T10:52:19.063855+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/78d055d7-8f2f-4ec7-9578-607b733ccd92", "rel": "self"}, {"href": "http://localhost/allocations/78d055d7-8f2f-4ec7-9578-607b733ccd92", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3db24f25-2d8e-498d-b8fe-9b103eab37d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "78d055d7-8f2f-4ec7-9578-607b733ccd92", "created_at": "2024-03-18T10:52:19.057343+00:00", "updated_at": "2024-03-18T10:52:19.063855+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/78d055d7-8f2f-4ec7-9578-607b733ccd92", "rel": "self"}, {"href": "http://localhost/allocations/78d055d7-8f2f-4ec7-9578-607b733ccd92", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/686b2a49-f322-4c3a-8394-62c7aec71081 DEBUG util.py:445: GET: /v1/allocations/686b2a49-f322-4c3a-8394-62c7aec71081 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47aaf963-f697-40f1-9a24-1dabc50d2514 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "686b2a49-f322-4c3a-8394-62c7aec71081", "created_at": "2024-03-18T10:52:19.282033+00:00", "updated_at": "2024-03-18T10:52:19.288960+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/686b2a49-f322-4c3a-8394-62c7aec71081", "rel": "self"}, {"href": "http://localhost/allocations/686b2a49-f322-4c3a-8394-62c7aec71081", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47aaf963-f697-40f1-9a24-1dabc50d2514 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "686b2a49-f322-4c3a-8394-62c7aec71081", "created_at": "2024-03-18T10:52:19.282033+00:00", "updated_at": "2024-03-18T10:52:19.288960+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/686b2a49-f322-4c3a-8394-62c7aec71081", "rel": "self"}, {"href": "http://localhost/allocations/686b2a49-f322-4c3a-8394-62c7aec71081", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/05a41a62-b9fa-45ef-bf92-26d2382fbcde DEBUG util.py:445: PATCH: /v1/allocations/05a41a62-b9fa-45ef-bf92-26d2382fbcde [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb9a9d90-29d4-4d86-816e-e89e60eb9c03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "05a41a62-b9fa-45ef-bf92-26d2382fbcde", "created_at": "2024-03-18T10:52:19.426349+00:00", "updated_at": "2024-03-18T10:52:19.587147+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/05a41a62-b9fa-45ef-bf92-26d2382fbcde", "rel": "self"}, {"href": "http://localhost/allocations/05a41a62-b9fa-45ef-bf92-26d2382fbcde", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb9a9d90-29d4-4d86-816e-e89e60eb9c03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "05a41a62-b9fa-45ef-bf92-26d2382fbcde", "created_at": "2024-03-18T10:52:19.426349+00:00", "updated_at": "2024-03-18T10:52:19.587147+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/05a41a62-b9fa-45ef-bf92-26d2382fbcde", "rel": "self"}, {"href": "http://localhost/allocations/05a41a62-b9fa-45ef-bf92-26d2382fbcde", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00254_allocations_allocation_id_patch_admin [0.215445s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8638f88b-5b56-4e8a-aa0c-6a01e3d433d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8638f88b-5b56-4e8a-aa0c-6a01e3d433d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e5e0be5-8d96-44f8-a742-0e21827f0b3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:18.585106+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e5e0be5-8d96-44f8-a742-0e21827f0b3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:18.585106+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84c91864-f666-4e51-bd64-08832d70ee9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84c91864-f666-4e51-bd64-08832d70ee9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7810cf4d-5d9d-401d-a75e-162ab4dc45f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7810cf4d-5d9d-401d-a75e-162ab4dc45f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10798de2-4d5c-4c09-9d75-6703c54cdd45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10798de2-4d5c-4c09-9d75-6703c54cdd45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-426fb9d0-4fe8-45b1-91ef-ff6bf856bae9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-426fb9d0-4fe8-45b1-91ef-ff6bf856bae9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd7e77f4-081d-4a85-8db7-4d0ab70320d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fd7e77f4-081d-4a85-8db7-4d0ab70320d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00141_ports_post_reader [0.155509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00142_ports_detail_get_admin [0.196940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00114_portgroups_get_reader [0.270997s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00255_allocations_allocation_id_patch_member [0.232217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00144_ports_detail_get_reader [0.186925s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00118_portgroups_detail_get_admin [0.198005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00256_allocations_allocation_id_patch_reader [0.168511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00149_ports_port_id_patch_member [0.194394s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00125_portgroups_portgroup_ident_patch_member [0.209671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [1.102713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00259_allocations_allocation_id_delete_reader [0.212824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.042080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00151_ports_port_id_delete_admin [0.161927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.095983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.082601s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00261_nodes_allocation_get_member [0.215582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00127_portgroups_portgroup_ident_delete_admin [0.273638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00152_ports_port_id_delete_member [0.200380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.059841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.053182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.069751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.074463s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00266_deploy_templates_post_admin [0.241496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.080620s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf584e1f-472e-4975-90b1-e99f6e9ea932 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:19.658014+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf584e1f-472e-4975-90b1-e99f6e9ea932 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:19.658014+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa1f4403-e2e1-47b7-aac0-8112ff9856c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:19.861341+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa1f4403-e2e1-47b7-aac0-8112ff9856c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:19.861341+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae6ec986-1da8-4378-81b8-61b189f99a76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae6ec986-1da8-4378-81b8-61b189f99a76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9eb8df7f-5b62-498f-ae79-63f9629a878a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9eb8df7f-5b62-498f-ae79-63f9629a878a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0197ec2-8c4e-4299-9c51-3ecf2be3c273 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0197ec2-8c4e-4299-9c51-3ecf2be3c273 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3489d96e-f07e-4037-8968-6f1822a42bb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:20.574850+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3489d96e-f07e-4037-8968-6f1822a42bb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:20.574850+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00157_nodes_ports_detail_get_admin [0.197964s] ... ok DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c65ee220-d125-4cca-8309-d76886e9bfcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c65ee220-d125-4cca-8309-d76886e9bfcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57764d92-f3fe-4c58-a330-7762c30ed1ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57764d92-f3fe-4c58-a330-7762c30ed1ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66f42f47-b72a-4f89-8883-8a6e84131628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66f42f47-b72a-4f89-8883-8a6e84131628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8b90d2c-1eac-46c6-871d-21bf44a93339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:19.849740+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8b90d2c-1eac-46c6-871d-21bf44a93339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:19.849740+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10996157-ea1f-42fe-85b2-5a385bc08237 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10996157-ea1f-42fe-85b2-5a385bc08237 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-054e10ed-950b-4e77-a798-de3d70ca230a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-054e10ed-950b-4e77-a798-de3d70ca230a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74cea447-aa9b-40f8-a509-dc0be7c963a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74cea447-aa9b-40f8-a509-dc0be7c963a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.api.test_acl.TestRBACScopedRequests.test_system_scoped_00130_nodes_portgroups_get_admin [0.193241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.063183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.073911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00158_nodes_ports_detail_get_member [0.207152s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/df7a002c-ef7f-4c6e-a204-325b70f6d65e DEBUG util.py:445: PATCH: /v1/allocations/df7a002c-ef7f-4c6e-a204-325b70f6d65e [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5162107-8503-4ef5-adb3-f04823dacb97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "df7a002c-ef7f-4c6e-a204-325b70f6d65e", "created_at": "2024-03-18T10:52:19.709605+00:00", "updated_at": "2024-03-18T10:52:19.819575+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/df7a002c-ef7f-4c6e-a204-325b70f6d65e", "rel": "self"}, {"href": "http://localhost/allocations/df7a002c-ef7f-4c6e-a204-325b70f6d65e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5162107-8503-4ef5-adb3-f04823dacb97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "df7a002c-ef7f-4c6e-a204-325b70f6d65e", "created_at": "2024-03-18T10:52:19.709605+00:00", "updated_at": "2024-03-18T10:52:19.819575+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/df7a002c-ef7f-4c6e-a204-325b70f6d65e", "rel": "self"}, {"href": "http://localhost/allocations/df7a002c-ef7f-4c6e-a204-325b70f6d65e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/297812e5-3025-49f2-83b3-117ad853bf34 DEBUG util.py:445: PATCH: /v1/allocations/297812e5-3025-49f2-83b3-117ad853bf34 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62a829af-b029-4913-a420-3905a3d4ed71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62a829af-b029-4913-a420-3905a3d4ed71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/c50d7c64-89cb-4d02-9fa5-4a1db596772f DEBUG util.py:445: DELETE: /v1/allocations/c50d7c64-89cb-4d02-9fa5-4a1db596772f DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c65ef75-f079-4e6e-b978-31b932a3b57a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c65ef75-f079-4e6e-b978-31b932a3b57a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38d1475b-0191-44d0-9d81-a85592423862 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "076c30f6-e993-43f0-9804-81915d55a499", "created_at": "2024-03-18T10:52:20.307973+00:00", "updated_at": "2024-03-18T10:52:20.314927+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/076c30f6-e993-43f0-9804-81915d55a499", "rel": "self"}, {"href": "http://localhost/allocations/076c30f6-e993-43f0-9804-81915d55a499", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38d1475b-0191-44d0-9d81-a85592423862 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "076c30f6-e993-43f0-9804-81915d55a499", "created_at": "2024-03-18T10:52:20.307973+00:00", "updated_at": "2024-03-18T10:52:20.314927+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/076c30f6-e993-43f0-9804-81915d55a499", "rel": "self"}, {"href": "http://localhost/allocations/076c30f6-e993-43f0-9804-81915d55a499", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/65c8e4b3-2d99-465b-8775-a95ccbd449d3 DEBUG util.py:445: Openstack-Request-Id: req-9e4fdc6d-fdb4-45e3-8d1f-dd8417552d7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "65c8e4b3-2d99-465b-8775-a95ccbd449d3", "created_at": "2024-03-18T10:52:20.613541+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/65c8e4b3-2d99-465b-8775-a95ccbd449d3", "rel": "self"}, {"href": "http://localhost/deploy_templates/65c8e4b3-2d99-465b-8775-a95ccbd449d3", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/65c8e4b3-2d99-465b-8775-a95ccbd449d3 DEBUG util.py:445: Openstack-Request-Id: req-9e4fdc6d-fdb4-45e3-8d1f-dd8417552d7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "65c8e4b3-2d99-465b-8775-a95ccbd449d3", "created_at": "2024-03-18T10:52:20.613541+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/65c8e4b3-2d99-465b-8775-a95ccbd449d3", "rel": "self"}, {"href": "http://localhost/deploy_templates/65c8e4b3-2d99-465b-8775-a95ccbd449d3", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/766c4b68-aab7-487e-ad5f-dbd5c831303a DEBUG util.py:445: PATCH: /v1/deploy_templates/766c4b68-aab7-487e-ad5f-dbd5c831303a [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53b7febc-ee5b-4ed0-8b89-1d53970709d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53b7febc-ee5b-4ed0-8b89-1d53970709d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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_00276_deploy_templates_deploy_template_id_patch_member [0.252009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00131_nodes_portgroups_get_member [0.356232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.079005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.058935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.053551s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00160_portgroups_ports_get_admin [0.203520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.022606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00277_deploy_templates_deploy_template_id_patch_reader [0.223698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.041764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.029049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00133_nodes_portgroups_detail_get_admin [0.232171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.054051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00161_portgroups_ports_get_member [0.167563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.064175s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00282_chassis_post_member [0.228465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.075238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00163_portgroups_ports_detail_get_admin [0.112827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.053249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.044159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00167_volume_get_member [0.125834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00134_nodes_portgroups_detail_get_member [0.312481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.080912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.053990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00174_volume_connectors_post_reader [0.128730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.026646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.021791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00285_chassis_get_member [0.272051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.044737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00145_ports_port_id_get_admin [0.215814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.075142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00176_volume_volume_connector_id_get_member [0.150056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00289_chassis_detail_get_reader [0.182183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.109185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.066706s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30057724-1758-4ad5-b3d9-23d4476e64f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:20.757604+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30057724-1758-4ad5-b3d9-23d4476e64f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:20.757604+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df0ded81-b17a-4840-8c65-dbe377210d0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df0ded81-b17a-4840-8c65-dbe377210d0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90cefe08-7ea2-45e8-b20b-89ecdfc6e431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90cefe08-7ea2-45e8-b20b-89ecdfc6e431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f108535-f713-467e-8cc6-69878cb818ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f108535-f713-467e-8cc6-69878cb818ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e55e12b-5abe-4ec6-b082-2b09c020aafd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e55e12b-5abe-4ec6-b082-2b09c020aafd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-541ac9bb-a011-480f-9bca-95512e52bd14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-541ac9bb-a011-480f-9bca-95512e52bd14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c19fdcc1-54d0-4cd8-b487-2cd58e72b473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:21.723654+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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c19fdcc1-54d0-4cd8-b487-2cd58e72b473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:21.723654+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"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00202_nodes_volume_connectors_get_member [0.196294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00291_chassis_chassis_id_get_member [0.223278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.101552s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01e27602-b125-445d-9f3d-727c3a83e3aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01e27602-b125-445d-9f3d-727c3a83e3aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffea23da-5812-46b9-b48a-3fc9c674a2ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:21.115184+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffea23da-5812-46b9-b48a-3fc9c674a2ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:21.115184+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cffb0eda-d6ac-413c-b2f6-b7e2428f695f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:21.376957+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cffb0eda-d6ac-413c-b2f6-b7e2428f695f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-03-18T10:52:21.376957+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, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-834d6861-d7ca-4ef5-8b22-f65fc29d86cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:21.655115+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-834d6861-d7ca-4ef5-8b22-f65fc29d86cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:21.655115+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc5a58a6-00ff-43a9-af36-72ce143fa416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.test_acl.TestRBACScopedRequests.test_system_scoped_00155_nodes_ports_get_member [0.304021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.110113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00203_nodes_volume_connectors_get_reader [0.210187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00159_nodes_ports_detail_get_reader [0.156533s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/c3cd47e2-dda0-4a7a-9cec-2e3ceeefa31c DEBUG util.py:445: PATCH: /v1/deploy_templates/c3cd47e2-dda0-4a7a-9cec-2e3ceeefa31c [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c89927e-32ad-47a7-904f-f6565375c4e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c89927e-32ad-47a7-904f-f6565375c4e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d613acf-0108-43b8-924a-8e22d9f53ee1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d613acf-0108-43b8-924a-8e22d9f53ee1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db179c00-5fc0-4921-8906-aa9e506e9e8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db179c00-5fc0-4921-8906-aa9e506e9e8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88beb6f8-47e3-4d1f-8674-3d89a56a8397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:21.810887+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"}]]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88beb6f8-47e3-4d1f-8674-3d89a56a8397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:21.810887+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"}]]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2a7af29-51f2-4daa-a041-df28f150bd26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:22.005745+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"}]]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2a7af29-51f2-4daa-a041-df28f150bd26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:22.005745+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"}]]} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16bbb70c-4ed9-4f41-a3ce-03a8017092b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:22.150658+00:00", "updated_at": "2024-03-18T10:52:22.256824+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"}]]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16bbb70c-4ed9-4f41-a3ce-03a8017092b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:22.150658+00:00", "updated_at": "2024-03-18T10:52:22.256824+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00294_chassis_chassis_id_patch_member [0.173572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.103743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.102609s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00204_nodes_volume_targets_get_admin [0.216922s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00166_volume_get_admin [0.135257s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00299_node_history_get_admin [0.185607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.075945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.070927s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00209_drivers_get_reader [0.145408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00168_volume_get_reader [0.146150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00301_node_history_get_reader [0.153829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.069348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00175_volume_volume_connector_id_get_admin [0.118287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00303_node_history_get_entry_member [0.102422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.088752s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00211_drivers_driver_name_get_member [0.180616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.060112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00178_volume_volume_connector_id_patch_admin [0.092155s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00304_node_history_get_entry_reader [0.107524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.023888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.069325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.036174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.023611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.032306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.037970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00218_drivers_raid_logical_disk_properties_get_reader [0.216863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.043206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.079631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.047431s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc5a58a6-00ff-43a9-af36-72ce143fa416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e895af8-c013-4ead-b3af-5604287d4d76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:22.139182+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e895af8-c013-4ead-b3af-5604287d4d76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:22.139182+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, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b980a54-2234-4698-98db-cff1dc83b6fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b980a54-2234-4698-98db-cff1dc83b6fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ab2583a-0970-486f-a2b6-0eb830f5b6fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ab2583a-0970-486f-a2b6-0eb830f5b6fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b635d551-0994-46a6-9ad7-67465056d020 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:22.638147+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"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b635d551-0994-46a6-9ad7-67465056d020 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-03-18T10:52:22.638147+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"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74ffe205-d581-49a4-804b-16267235c9c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74ffe205-d581-49a4-804b-16267235c9c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e95e585-dd35-4552-ba12-2c86095fe5f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00182_volume_volume_connector_id_delete_member [0.083765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00184_volume_targets_get_admin [0.111874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.097852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.036937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00189_volume_targets_post_reader [0.121681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.037709s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.047157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00219_drivers_vendor_passthru_methods_get_admin [0.173622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.056327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.053445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.094996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00195_volume_volume_target_id_delete_admin [0.125268s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eab96896-910e-4cf9-8bc6-d7de35755b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "d6bab61d-22d3-464c-b8f9-659a7043f55c", "created_at": "2024-03-18T10:52:22.377868+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d6bab61d-22d3-464c-b8f9-659a7043f55c", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eab96896-910e-4cf9-8bc6-d7de35755b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "d6bab61d-22d3-464c-b8f9-659a7043f55c", "created_at": "2024-03-18T10:52:22.377868+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d6bab61d-22d3-464c-b8f9-659a7043f55c", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da311469-082c-4783-a6a7-14efdd1b542e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "a420e11f-a961-47e8-9329-ad90e835c597", "created_at": "2024-03-18T10:52:22.538118+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a420e11f-a961-47e8-9329-ad90e835c597", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da311469-082c-4783-a6a7-14efdd1b542e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "a420e11f-a961-47e8-9329-ad90e835c597", "created_at": "2024-03-18T10:52:22.538118+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a420e11f-a961-47e8-9329-ad90e835c597", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/08fb0b51-766b-45a1-9866-fb802ba404b3 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/08fb0b51-766b-45a1-9866-fb802ba404b3 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e715322e-7980-4f75-a55a-e1f32c7f1b72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "08fb0b51-766b-45a1-9866-fb802ba404b3", "created_at": "2024-03-18T10:52:22.669582+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/08fb0b51-766b-45a1-9866-fb802ba404b3", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e715322e-7980-4f75-a55a-e1f32c7f1b72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "08fb0b51-766b-45a1-9866-fb802ba404b3", "created_at": "2024-03-18T10:52:22.669582+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/08fb0b51-766b-45a1-9866-fb802ba404b3", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/845a85b5-aa5b-4c4c-9a35-c79cbfd25c9d DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/845a85b5-aa5b-4c4c-9a35-c79cbfd25c9d {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a8a3ac3-9fbc-46bc-9f97-636b11b6acab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "845a85b5-aa5b-4c4c-9a35-c79cbfd25c9d", "created_at": "2024-03-18T10:52:22.759540+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/845a85b5-aa5b-4c4c-9a35-c79cbfd25c9d", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a8a3ac3-9fbc-46bc-9f97-636b11b6acab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "845a85b5-aa5b-4c4c-9a35-c79cbfd25c9d", "created_at": "2024-03-18T10:52:22.759540+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/845a85b5-aa5b-4c4c-9a35-c79cbfd25c9d", "rel": "self"}]} DEBUG util.py:445: GET: /v1/bad/path {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-724a2ec0-c88d-4adc-9b31-67cbc4176cff DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'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.78'}, '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'}]} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'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.78'}, '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'}]}{3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.077476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.038340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.082705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00196_volume_volume_target_id_delete_member [0.098694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.077155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.114047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00197_volume_volume_target_id_delete_reader [0.070260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.081239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.037441s] ... ok DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f3c51f6-dc54-4cba-b09b-9945080e35e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f3c51f6-dc54-4cba-b09b-9945080e35e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fd5bf8c-32dc-4c5b-a1c0-e08519471280 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3fd5bf8c-32dc-4c5b-a1c0-e08519471280 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de40fa9c-534f-43c0-a564-859da5e62010 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de40fa9c-534f-43c0-a564-859da5e62010 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba1f773e-c540-453c-b8d0-c0ca56b5016b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba1f773e-c540-453c-b8d0-c0ca56b5016b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5dc45a12-4ee1-4b94-8d7e-1d880611081f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5dc45a12-4ee1-4b94-8d7e-1d880611081f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9f6f578-041d-473b-88d2-1311c7c5a103 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9f6f578-041d-473b-88d2-1311c7c5a103 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30ac5c48-2b45-41fc-a4b7-386dd0351e9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30ac5c48-2b45-41fc-a4b7-386dd0351e9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a592b04d-5bbe-4f29-8034-56ae77950532 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:52:23.220029+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00233_nodes_bios_get_admin [0.176302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00236_nodes_bios_bios_setting_get_admin [0.156138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00201_nodes_volume_connectors_get_admin [0.100953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.042489s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.103441s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-20.1.4.dev4/ironic/db/sqlalchemy/api.py:1289: SAWarning: SELECT statement has a cartesian product between FROM element(s) "conductor_hardware_interfaces" and FROM element "conductors". Apply join condition(s) between each element to resolve. DEBUG util.py:443: return query.all() DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get_properties": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:vendor_passthru": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:conductor:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:update": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:update": "role:member and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:update": "role:member and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: This is badINFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.061468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config [0.053848s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00237_nodes_bios_bios_setting_get_member [0.171806s] ... ok DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e95e585-dd35-4552-ba12-2c86095fe5f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74567543-7d5a-4bd0-9b9c-a7298538a034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74567543-7d5a-4bd0-9b9c-a7298538a034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9cb125bf-22e7-4a03-bc89-b5f4efa09826 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9cb125bf-22e7-4a03-bc89-b5f4efa09826 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af7d58c3-0977-4396-8bcb-208e60e098e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af7d58c3-0977-4396-8bcb-208e60e098e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1639073-7ee4-461a-8593-a56f119d291b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1639073-7ee4-461a-8593-a56f119d291b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77f7fe19-baa4-46f7-b86d-3e72e5b325db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77f7fe19-baa4-46f7-b86d-3e72e5b325db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8abfb680-415f-4219-96b8-a429ab347357 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8abfb680-415f-4219-96b8-a429ab347357 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1970abf5-35b8-4409-bf42-224c86ae8322 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1970abf5-35b8-4409-bf42-224c86ae8322 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.api.test_acl.TestRBACScopedRequests.test_system_scoped_00205_nodes_volume_targets_get_member [0.119450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config_existing_dirs [0.079178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00206_nodes_volume_targets_get_reader [0.138851s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00238_nodes_bios_bios_setting_get_reader [0.119345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.062956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00239_conductors_get_admin [0.093430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.432878s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.151634s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.024126s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a592b04d-5bbe-4f29-8034-56ae77950532 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:52:23.220029+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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a71b5b3-13c4-4782-9041-105ccfd8dabd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:52:23.394493+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"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a71b5b3-13c4-4782-9041-105ccfd8dabd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:52:23.394493+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"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d46e02b-42a6-45a4-a0c9-83bd80fb4453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:52:23.550628+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"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d46e02b-42a6-45a4-a0c9-83bd80fb4453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:52:23.550628+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"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de8e2845-2a5e-490f-88aa-d8d5b3386a1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:52:23.720306+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"}]}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de8e2845-2a5e-490f-88aa-d8d5b3386a1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-03-18T10:52:23.720306+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"}]}} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-521dc620-5435-46e4-bb93-ef841a606e83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-521dc620-5435-46e4-bb93-ef841a606e83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50e2a6a3-f382-49be-a868-c0d58311fefc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50e2a6a3-f382-49be-a868-c0d58311fefc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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.TestRBACScopedRequests.test_system_scoped_00240_conductors_get_member [0.122906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.072289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.015039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.114497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.019624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.019543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00241_conductors_get_reader [0.119091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.016057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.016529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.043987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00210_drivers_driver_name_get_admin [0.399580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.039106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.140338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.040161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00247_allocations_post_reader [0.156716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00212_drivers_driver_name_get_reader [0.131719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.044384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_service_token [0.026374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.029952s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.146359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.036471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00251_allocations_allocation_id_get_admin [0.130518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.026352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00214_drivers_properties_get_member [0.158236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.049037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.139112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00258_allocations_allocation_id_delete_member [0.122503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.095016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00217_drivers_raid_logical_disk_properties_get_member [0.126850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.031393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.035580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00260_nodes_allocation_get_admin [0.116588s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.169543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.037905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.035247s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00270_deploy_templates_get_member [0.081773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00222_drivers_vendor_passthru_get_admin [0.135799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.069584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.050558s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.075337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.064186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00223_drivers_vendor_passthru_get_member [0.154409s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.041559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.075483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.127230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00224_drivers_vendor_passthru_get_reader [0.083087s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/conductors DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e47fdd4-d8ae-4d54-ad00-a12e79f00bad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e47fdd4-d8ae-4d54-ad00-a12e79f00bad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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}]} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3138e3cb-eb0e-4343-a03c-e18047ba2828 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3138e3cb-eb0e-4343-a03c-e18047ba2828 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/04d5d31c-38b6-4ffe-b8cc-72c8d2792cf0 DEBUG util.py:445: GET: /v1/allocations/04d5d31c-38b6-4ffe-b8cc-72c8d2792cf0 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a9afefb-e52a-4dd9-b375-a7aee8cc3080 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "04d5d31c-38b6-4ffe-b8cc-72c8d2792cf0", "created_at": "2024-03-18T10:52:24.313727+00:00", "updated_at": "2024-03-18T10:52:24.320622+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/04d5d31c-38b6-4ffe-b8cc-72c8d2792cf0", "rel": "self"}, {"href": "http://localhost/allocations/04d5d31c-38b6-4ffe-b8cc-72c8d2792cf0", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a9afefb-e52a-4dd9-b375-a7aee8cc3080 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "04d5d31c-38b6-4ffe-b8cc-72c8d2792cf0", "created_at": "2024-03-18T10:52:24.313727+00:00", "updated_at": "2024-03-18T10:52:24.320622+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/04d5d31c-38b6-4ffe-b8cc-72c8d2792cf0", "rel": "self"}, {"href": "http://localhost/allocations/04d5d31c-38b6-4ffe-b8cc-72c8d2792cf0", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/7712fb73-c089-4fa3-bdd6-ae4b8e469318 DEBUG util.py:445: DELETE: /v1/allocations/7712fb73-c089-4fa3-bdd6-ae4b8e469318 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f35fd44-3654-4ade-8c85-4d897796db95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f35fd44-3654-4ade-8c85-4d897796db95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7badf877-b3b9-42a2-88d8-dd83b2f3cedc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5fde83eb-bbfa-4f72-ad8c-4e739d8aab17", "created_at": "2024-03-18T10:52:24.542675+00:00", "updated_at": "2024-03-18T10:52:24.549873+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/5fde83eb-bbfa-4f72-ad8c-4e739d8aab17", "rel": "self"}, {"href": "http://localhost/allocations/5fde83eb-bbfa-4f72-ad8c-4e739d8aab17", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7badf877-b3b9-42a2-88d8-dd83b2f3cedc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5fde83eb-bbfa-4f72-ad8c-4e739d8aab17", "created_at": "2024-03-18T10:52:24.542675+00:00", "updated_at": "2024-03-18T10:52:24.549873+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/5fde83eb-bbfa-4f72-ad8c-4e739d8aab17", "rel": "self"}, {"href": "http://localhost/allocations/5fde83eb-bbfa-4f72-ad8c-4e739d8aab17", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b91afe34-c23a-400d-819a-10434e6662bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "13e129f3-f8e6-48d2-848c-268267cc96ce", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/13e129f3-f8e6-48d2-848c-268267cc96ce", "rel": "self"}, {"href": "http://localhost/deploy_templates/13e129f3-f8e6-48d2-848c-268267cc96ce", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b91afe34-c23a-400d-819a-10434e6662bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "13e129f3-f8e6-48d2-848c-268267cc96ce", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/13e129f3-f8e6-48d2-848c-268267cc96ce", "rel": "self"}, {"href": "http://localhost/deploy_templates/13e129f3-f8e6-48d2-848c-268267cc96ce", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/81170e7d-7622-455f-8260-e63b9654a8ee DEBUG util.py:445: GET: /v1/deploy_templates/81170e7d-7622-455f-8260-e63b9654a8ee {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-645a7e43-1154-4a76-83df-ee04526d3ea6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "81170e7d-7622-455f-8260-e63b9654a8ee", "created_at": "2024-03-18T10:52:24.769170+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/81170e7d-7622-455f-8260-e63b9654a8ee", "rel": "self"}, {"href": "http://localhost/deploy_templates/81170e7d-7622-455f-8260-e63b9654a8ee", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00272_deploy_templates_deploy_template_id_get_admin [0.117056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00280_deploy_templates_deploy_template_id_delete_reader [0.079395s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00292_chassis_chassis_id_get_reader [0.083056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.038265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.058417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.030440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.038751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.049858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00297_chassis_chassis_id_delete_member [0.078427s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.051808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.036887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.029906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.096706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.024855s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d5e4f2d-9feb-400b-9576-0abca18e1532 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d5e4f2d-9feb-400b-9576-0abca18e1532 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"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"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73fb8ef3-bdbd-443e-b757-949162e2b601 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73fb8ef3-bdbd-443e-b757-949162e2b601 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d931ef11-9faa-444e-a3ce-3ecbadecffab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d931ef11-9faa-444e-a3ce-3ecbadecffab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59d67374-3160-40b5-ae2a-aa377b411e4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-59d67374-3160-40b5-ae2a-aa377b411e4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c285c47a-2cf3-4e89-98d8-5a018b416a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c285c47a-2cf3-4e89-98d8-5a018b416a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afc89258-968c-40ba-97d7-2d9589337252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afc89258-968c-40ba-97d7-2d9589337252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bc2daa7-5391-4baa-b130-eb3ae32de23c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bc2daa7-5391-4baa-b130-eb3ae32de23c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c7864de-9b16-476b-8399-24a54654300b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c7864de-9b16-476b-8399-24a54654300b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b5099cb-a9fc-4a83-9646-508c6251a7b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00229_drivers_vendor_passthru_put_member [0.102424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00230_drivers_vendor_passthru_put_reader [0.093259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00302_node_history_get_entry_admin [0.117455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.026572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.031552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.039235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.056271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.036998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.033662s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.036511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.034492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.037486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00234_nodes_bios_get_member [0.162677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.059488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.036866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.034778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.034204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.055656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.034872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.041769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.041990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.014650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.045291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.038271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00235_nodes_bios_get_reader [0.146732s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.041293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix_underscore [0.062769s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.029896s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-645a7e43-1154-4a76-83df-ee04526d3ea6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "81170e7d-7622-455f-8260-e63b9654a8ee", "created_at": "2024-03-18T10:52:24.769170+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/81170e7d-7622-455f-8260-e63b9654a8ee", "rel": "self"}, {"href": "http://localhost/deploy_templates/81170e7d-7622-455f-8260-e63b9654a8ee", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/47cb3499-db6b-46e4-9a21-a118d157ecb5 DEBUG util.py:445: DELETE: /v1/deploy_templates/47cb3499-db6b-46e4-9a21-a118d157ecb5 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0557ae3a-4d9c-47de-bd49-c08c73de88c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0557ae3a-4d9c-47de-bd49-c08c73de88c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f388be6e-05d5-400f-ab64-ac697529b355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:24.946502+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"}]]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f388be6e-05d5-400f-ab64-ac697529b355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:24.946502+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"}]]} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c1b4ab9-5eb3-4319-b471-6aa3daefed37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c1b4ab9-5eb3-4319-b471-6aa3daefed37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8fa87304-c709-407c-9e7a-b95e96c18e36 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8fa87304-c709-407c-9e7a-b95e96c18e36 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96b3931c-105c-4b16-b695-b8b74d1c6223 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8fa87304-c709-407c-9e7a-b95e96c18e36", "created_at": "2024-03-18T10:52:25.126660+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/8fa87304-c709-407c-9e7a-b95e96c18e36", "rel": "self"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96b3931c-105c-4b16-b695-b8b74d1c6223 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8fa87304-c709-407c-9e7a-b95e96c18e36", "created_at": "2024-03-18T10:52:25.126660+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/8fa87304-c709-407c-9e7a-b95e96c18e36", "rel": "self"}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b3d3108-de5c-44b9-8717-e793bbd677b9 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20e54624-9fb3-462f-b9a1-5efc611d48bc DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a34ca23b-b45e-424a-bc8f-33995ffa0c19 DEBUG util.py:445: {"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-20.1.4.dev4/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-20.1.4.dev4/ironic/api/controllers/root.py\\\", line 43, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.6/unittest/mock.py\\\", line 939, in __call__\\n return _mock_self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.6/unittest/mock.py\\\", line 999, in _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\"}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-008e6951-7154-4d5e-889c-0c7feed92f2e DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"}{1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.032621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.042057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.045864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.040439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.043849s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.027555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.019929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.022079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.042606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.034893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.021422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_good [0.046164s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00244_conductors_hostname_get_reader [0.178215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.030993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.019250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.019892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.032094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.041719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.038017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.037827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.072058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.055623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00245_allocations_post_admin [0.124574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_segmented [0.057144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.042324s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.053655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.044054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00249_allocations_get_member [0.075798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.041037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.056774s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.031750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.037641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.061475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.039696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.062961s] ... ok DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b5099cb-a9fc-4a83-9646-508c6251a7b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38fbb902-10d7-4696-b077-eae76dcc5a1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38fbb902-10d7-4696-b077-eae76dcc5a1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb4b2c8c-7889-46f0-bacf-7e886f7920c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:52:25.245128+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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb4b2c8c-7889-46f0-bacf-7e886f7920c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:52:25.245128+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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dd1ee9b-eb51-4580-959b-19b6275b44aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:52:25.363638+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"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dd1ee9b-eb51-4580-959b-19b6275b44aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-03-18T10:52:25.363638+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"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f69cf4ce-2761-4620-a4d0-202bf1ae14bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:52:25.546001+00:00", "updated_at": "2024-03-18T10:52:25.546807+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} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f69cf4ce-2761-4620-a4d0-202bf1ae14bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-03-18T10:52:25.546001+00:00", "updated_at": "2024-03-18T10:52:25.546807+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} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc2eab88-2739-4bf1-a987-6ed82151d82e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc2eab88-2739-4bf1-a987-6ed82151d82e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6493571d-3e09-402f-8846-02e858124001 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "96e94c4d-d3c2-4505-a54f-e6a183b3bc37", "created_at": "2024-03-18T10:52:25.778980+00:00", "updated_at": "2024-03-18T10:52:25.786606+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/96e94c4d-d3c2-4505-a54f-e6a183b3bc37", "rel": "self"}, {"href": "http://localhost/allocations/96e94c4d-d3c2-4505-a54f-e6a183b3bc37", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6493571d-3e09-402f-8846-02e858124001 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "96e94c4d-d3c2-4505-a54f-e6a183b3bc37", "created_at": "2024-03-18T10:52:25.778980+00:00", "updated_at": "2024-03-18T10:52:25.786606+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/96e94c4d-d3c2-4505-a54f-e6a183b3bc37", "rel": "self"}, {"href": "http://localhost/allocations/96e94c4d-d3c2-4505-a54f-e6a183b3bc37", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd099c3a-49a7-4354-bc30-cb57901b0a36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "87c95242-1289-46cb-b748-bed9508f1b75", "created_at": "2024-03-18T10:52:25.855540+00:00", "updated_at": "2024-03-18T10:52:25.868042+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/87c95242-1289-46cb-b748-bed9508f1b75", "rel": "self"}, {"href": "http://localhost/allocations/87c95242-1289-46cb-b748-bed9508f1b75", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00250_allocations_get_reader [0.076250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.064400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.053370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00262_nodes_allocation_get_reader [0.108888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.184119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.043987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.027171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.048682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.034797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.033475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.061723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.033597s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-20.1.4.dev4/ironic/db/sqlalchemy/api.py:1289: SAWarning: SELECT statement has a cartesian product between FROM element(s) "conductor_hardware_interfaces" and FROM element "conductors". Apply join condition(s) between each element to resolve. DEBUG util.py:443: return query.all() DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get_properties": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get_raid_logical_disk_properties": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:vendor_passthru": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:conductor:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:update": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:update": "role:member and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: "max-count" must be a positive value. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.058384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.036527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00264_nodes_allocation_delete_member [0.162350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.027159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.030282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_no_esp_imageimg [0.036075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.055299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_with_ExecutionError [0.027771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.041100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.056448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00265_nodes_allocation_delete_reader [0.145641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.044859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.045249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.319854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.038311s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.089176s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.063223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.043572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00267_deploy_templates_post_member [0.160711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.039075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.066236s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.047379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.041556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.066717s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.045492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.036885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.140480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00268_deploy_templates_post_reader [0.159798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.021873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.045198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.158634s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.281732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.031514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.021577s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd099c3a-49a7-4354-bc30-cb57901b0a36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "87c95242-1289-46cb-b748-bed9508f1b75", "created_at": "2024-03-18T10:52:25.855540+00:00", "updated_at": "2024-03-18T10:52:25.868042+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/87c95242-1289-46cb-b748-bed9508f1b75", "rel": "self"}, {"href": "http://localhost/allocations/87c95242-1289-46cb-b748-bed9508f1b75", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20687298-e97c-4dcf-9c5b-c97a5daf7eb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "419daa0f-2e70-4464-abe3-026437641eff", "created_at": "2024-03-18T10:52:25.938217+00:00", "updated_at": "2024-03-18T10:52:25.952325+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/419daa0f-2e70-4464-abe3-026437641eff", "rel": "self"}, {"href": "http://localhost/allocations/419daa0f-2e70-4464-abe3-026437641eff", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-20687298-e97c-4dcf-9c5b-c97a5daf7eb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "419daa0f-2e70-4464-abe3-026437641eff", "created_at": "2024-03-18T10:52:25.938217+00:00", "updated_at": "2024-03-18T10:52:25.952325+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/419daa0f-2e70-4464-abe3-026437641eff", "rel": "self"}, {"href": "http://localhost/allocations/419daa0f-2e70-4464-abe3-026437641eff", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89fe345e-ac4c-4026-a64b-df332d68d30e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89fe345e-ac4c-4026-a64b-df332d68d30e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5139ae8c-a38f-473e-8549-a0b1c8ecbe9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5139ae8c-a38f-473e-8549-a0b1c8ecbe9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-485ce313-f906-4846-999c-8bad23998d1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-485ce313-f906-4846-999c-8bad23998d1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e98d6bb-b05b-44c4-ae2e-e7dc1d67174f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e98d6bb-b05b-44c4-ae2e-e7dc1d67174f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/e56d232a-954b-437b-a501-c38d6d54bc22 DEBUG util.py:445: GET: /v1/deploy_templates/e56d232a-954b-437b-a501-c38d6d54bc22 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6af5ae99-5f8e-4bd6-9bcb-a4ec7bbc4f8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e56d232a-954b-437b-a501-c38d6d54bc22", "created_at": "2024-03-18T10:52:26.752348+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e56d232a-954b-437b-a501-c38d6d54bc22", "rel": "self"}, {"href": "http://localhost/deploy_templates/e56d232a-954b-437b-a501-c38d6d54bc22", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6af5ae99-5f8e-4bd6-9bcb-a4ec7bbc4f8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e56d232a-954b-437b-a501-c38d6d54bc22", "created_at": "2024-03-18T10:52:26.752348+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e56d232a-954b-437b-a501-c38d6d54bc22", "rel": "self"}, {"href": "http://localhost/deploy_templates/e56d232a-954b-437b-a501-c38d6d54bc22", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00274_deploy_templates_deploy_template_id_get_reader [0.172738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00281_chassis_post_admin [0.106521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.043037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.031500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_explicit [0.310371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.209454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.046400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.044866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image_with_type [0.028767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00283_chassis_post_reader [0.155462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.032995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.067669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.020194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.122382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.019989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.068748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.094265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.036874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.111551s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00288_chassis_detail_get_member [0.181451s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.028736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.030546s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.100257s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.021203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.021964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.029019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.069728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.139876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.066705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.063625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00293_chassis_chassis_id_patch_admin [0.186505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.042330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.057426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.136922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.033790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.020928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_with_step [0.039134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.026098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.087656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.031467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.046390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.038644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.039688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00296_chassis_chassis_id_delete_admin [0.194213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.074430s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.020933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.015814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.058468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.044165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.041133s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.027767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.037800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.019050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.062778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.025244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.020339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.038270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00298_chassis_chassis_id_delete_reader [0.190235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.025333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.052929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.022439s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.034291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.101948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.037039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.060534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.019426s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.021066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.044231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.076871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.033113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.023525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.021609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.022005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.090410s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.032565s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.015376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.018575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files [0.016953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.084385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.028502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.086900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.024335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.015635s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.019290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.086913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.098502s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7 DEBUG util.py:445: Openstack-Request-Id: req-89cb555b-dfe3-46c3-a271-e21fb79cc6cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "62db08e1-8598-4979-95fb-5bb8e51fe8f7", "created_at": "2024-03-18T10:52:26.921582+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7", "rel": "self"}, {"href": "http://localhost/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7/nodes", "rel": "self"}, {"href": "http://localhost/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: ACL Test GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7 DEBUG util.py:445: Openstack-Request-Id: req-89cb555b-dfe3-46c3-a271-e21fb79cc6cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "62db08e1-8598-4979-95fb-5bb8e51fe8f7", "created_at": "2024-03-18T10:52:26.921582+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7", "rel": "self"}, {"href": "http://localhost/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7/nodes", "rel": "self"}, {"href": "http://localhost/chassis/62db08e1-8598-4979-95fb-5bb8e51fe8f7/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a65c59ae-9962-4a3a-8700-44c1afa93cfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a65c59ae-9962-4a3a-8700-44c1afa93cfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6135950f-69ae-46df-82bd-ed36701dc45c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:27.183425+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"}]]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6135950f-69ae-46df-82bd-ed36701dc45c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:27.183425+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"}]]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d2726eb-a736-4cc1-9093-4391b03f00b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:27.362610+00:00", "updated_at": "2024-03-18T10:52:27.445244+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"}]]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d2726eb-a736-4cc1-9093-4391b03f00b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:27.362610+00:00", "updated_at": "2024-03-18T10:52:27.445244+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"}]]} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e99571f2-01a5-47bd-a869-7ff11b4c17d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e99571f2-01a5-47bd-a869-7ff11b4c17d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26a620cb-8a4a-48ea-b5de-28252594512d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26a620cb-8a4a-48ea-b5de-28252594512d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/things/ouch {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57e3bf66-5410-4cce-a714-986418227dcc DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.076610s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.081591s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.073711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.030844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.034055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.068019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.066260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.023373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.050068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.075812s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.144958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.087775s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.071973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.079388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.061145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.111900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.051873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.057133s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.036736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.038783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.096775s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.038111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.038525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.076068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.042590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.047809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.111947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.040233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.034389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.041928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.025892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.021703s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.844850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.097912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.027079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.048500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.032375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.025428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.092123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.035482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.126341s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get_raid_logical_disk_properties": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:vendor_passthru": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:allocation:create_pre_rbac": "(rule:is_member and role:baremetal_admin) or (is_admin_project:True and role:admin)" failed scope check. The token used to make the request was system scoped but the policy requires ['project'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: Error while running foo: bar. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.124013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.041287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.099602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.086407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.120161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.102804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.014506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.087827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.070307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.114549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.055640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.053885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.199044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.040347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.037670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.107667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.058207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.105383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.034513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.096291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.095885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.105385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.052523s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.147496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.064094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.123090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.128272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.055379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.059113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.039609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.063103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.083480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.067335s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.055351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.089815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.070248s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.055042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.121229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.060075s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.075021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.052553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.095665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.071255s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.079487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.067464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.060690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.126844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.040502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.069288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.047972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.040382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.040497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.045291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.149946s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.038417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.081528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [1.028772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.052277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.042841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.075896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.027428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.104148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.194289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.062081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fallback_defaults [0.099152s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.078416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.048996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.054685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.036091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.047401s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.152718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.084448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.073226s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.048657s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.068273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.060208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.097265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.081470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.048195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.051572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.098706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.041282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.112482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.017798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.082555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.023638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.052905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.022863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.109816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.032664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.044944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.023611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.084628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.096416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.063739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.073776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.096578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.055532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.083917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.055403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.038499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.044000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.045712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.046393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.040062s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.113624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.042797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.036829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.041993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix [0.028023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.047695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.096736s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.044454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.045308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.038632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.039022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.066633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.048617s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.043038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.086789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.084744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.032404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.032575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.040913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.038479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.075063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.037834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.032971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.040625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.055005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.077322s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.056263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_ramdisk [0.051972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.067176s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.226777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.035728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.080915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.059290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.042861s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.363323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.059125s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.036593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.046205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.065362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.033765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.044692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.229803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.043168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.060889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.065440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.059927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.076822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.059929s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.039278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.058479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.041051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.083786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.041000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.028167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.044058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.021177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.031722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.244692s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.046463s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.022296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.023376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.096999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_disabled [0.042959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.026017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.022509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.027239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.019494s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.023783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.032268s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fails_no_grub_cfg [0.021490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_bios [0.076755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.019880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.018326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.041245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.034961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.043160s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.039749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.021682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.034149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.018936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.016953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.016825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.021259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.021215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.024679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.020995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.027718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.020161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.028077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.024069s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.019856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.018433s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.018408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.019540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.029534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.315462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.031692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.032561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.060912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.067344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.026607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.018674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.015863s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.020351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.064723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.015374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.016214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.016486s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.059899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.013467s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.021112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.017311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.701487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.056734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.021690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.016383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.020969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.261551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.054241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_chmod [0.031815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.054861s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.050311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.036562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.054963s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.057279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.038993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.035536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.033308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.088748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.042831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.257521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.032627s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.032210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.047767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.032969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.038624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.106035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.019770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.050888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.030811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.036011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.037673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.019117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.081611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.029757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.188788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.023115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.076749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.026168s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.035396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.030213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.065286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.016767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.037567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.081579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.209809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.049842s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.064926s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.046109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.031458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.026860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.026746s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.015477s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.039648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.076824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.042672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.211993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.038824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.098491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.033119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.525041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.034676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.033514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.037255s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.079758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.188826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.046915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.021910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.080015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.072734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.052232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.042645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.084100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.205148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.046304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.079732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_no_enabled_interfaces [0.098273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.084739s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.100703s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.072312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.236840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start_no_rpc [0.057366s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.065979s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.081089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.121566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.084733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.724535s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.091450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.029537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.082976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.027752s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.083609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.045767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.082403s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.046761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.026290s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.103608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.031630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.023895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.198905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.087667s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.032428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.038456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.118124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.059095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.137333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.089002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.182108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.067399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.019590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.093885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.116661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.100109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.087761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.026630s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.092043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.047518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.146461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.046849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.179533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.047056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.109073s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent [0.067954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_recovers [0.036994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.218672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.109639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.063435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.167145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.121061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.120211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.197585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.137174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.083564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.086838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.159921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.057708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.194405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.095105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.086714s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.143564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.291178s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.119227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.212750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.083638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.128349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.216110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.149233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.188475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.096642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.079657s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.055517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.061828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.145575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.035487s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.163534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.044330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.113520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.108805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.043051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.056298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.051806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.049352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.020198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.054404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.125455s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.046551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.047230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.024794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.208779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.047058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.069702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.028467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.023996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.030804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.094554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.024702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.037897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.072146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.038839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.186900s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.033663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.029185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.270211s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.031302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.095750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.022572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.076617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.039363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.086267s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.036610s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.178915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.043954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.090047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.030468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.073603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.041550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.087775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.045881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.032543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.074893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.133279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.025243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.026998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.056663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.037602s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.040009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.092204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.048594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_fallback [0.028530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.050059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.040351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.054212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.261161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.043712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.052687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.026645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.076904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.036965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.043802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.039825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.037352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.045521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.041469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.043245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.509360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.042367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.028286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.072484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.045172s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.031896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.078318s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.045807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.052686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.247264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.044863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.431195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.172957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.038497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.022644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.025616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.023314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.021744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.022583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.195845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.021671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.030461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.040207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.016540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.016534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.015587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.250858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.276322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.027868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.016035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.014571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.014217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.222987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_release_versions [0.014095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.016015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.014948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.014214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.014194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.013847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.156568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start_failure [0.024475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.016554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.036913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.254488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.036030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.031956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.017063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.163282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.015648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.106765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.014564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.014590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.270706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.015083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.015195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.015414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.072444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.024869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.017305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.074595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.016704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_warning_only [0.018411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.075570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.049815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.157365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.084766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.045466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.022532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.074049s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.306341s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.043481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.046043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.043838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.047856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.041496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.078972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.048159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.040207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.077990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.240211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.062925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.408583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.100881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.048037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.108865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.077749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.114814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.214623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.099296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.072787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.097302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.091105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.087479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.128959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.179561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.053446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.113387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.127989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.163568s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.181754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.118926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.112302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.100825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.139312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.220403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.059243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.104943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.047385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.065353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.258315s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.130540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.061599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.018607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.159425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.119352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.068616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_early [0.041005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.110032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.051100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.133276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.051824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.290469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.086946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.057329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.051152s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.090057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.177904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.058891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.073817s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.083605s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.058093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.040188s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.042533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.127420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.069548s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.067646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.327238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.045938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.057880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.057313s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.191194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.225986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.073179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.036849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.042326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.041735s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.149883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.047293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.242045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.100574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.151674s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.092022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.057112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.640291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.099530s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.094814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.039516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.274446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.100265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.123643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.093428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.087418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.263523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.094958s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.045470s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.177958s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.074914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.098793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.259237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.076828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.154143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.116302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.033082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.083395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.120990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.214680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.085684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.161459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.091537s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.080317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.118999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.121179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.087531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.276879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.152854s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.105773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.100501s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.032549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.092175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.105704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.080852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.079444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.078759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.090392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.257261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.078766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.023888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.021366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.093088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.112099s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.235009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.095638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.099719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.092773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.025332s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.294886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.028580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.127276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.028666s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.024244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.022439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.097317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.095115s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.029129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.024559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.068561s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.027963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.076675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.214658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.023732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.025988s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.110783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.021985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.073577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.115533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.212597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.109864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.042904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.255884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.073450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.104518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.058121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.041142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.098095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.023483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.057694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.052652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.202200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.040647s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.206224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.101151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.125194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.098568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.055494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.040014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.114673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.049741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.181467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.076087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.053050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.076300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.083141s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.107149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.058039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.058973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.465368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.047293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.052734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.065217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.080061s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.053654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.244887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.222525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.126432s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.106712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.086430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.040836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.040129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.024616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.145838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.030267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.289989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_exclusive [0.044616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.405275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_limit [0.031953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.156394s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.134735s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.240403s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.151729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_netboot [0.113829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.094680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.090459s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.169474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.107844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.176375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.179820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.158027s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.085937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.155743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.060051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.097744s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.036157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.119522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.218871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.097902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.117677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.121632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.153323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.129055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.098556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.165696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.130095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.099241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.148846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.150763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.113913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.084843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.101196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.043895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.050231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.206448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.056494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.140984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.170069s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.187223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.126779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.096044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.082972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.048958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [0.144401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.098620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.048475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.038821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.040029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.038813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [0.131641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.123949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_agent_version_anaconda [0.177612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_stop [0.045978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.017975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.086609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.234937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.097488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.030068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.082463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.070737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.035535s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.060592s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [0.799470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.098832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.127763s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.064953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.020500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.114132s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.111767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.047174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.024297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.062391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.023866s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call [0.090775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.067664s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_no_conductor_with_rpc_disabled [0.032707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.019904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast [0.017657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.716271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.018742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.075232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.030735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.085841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.065186s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.206677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.031678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.022775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.059911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.021867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.027517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.054108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.028019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.030283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.020821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.085801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.021602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.027336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [1.716908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.048561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.264049s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.057992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.123130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.069039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.076251s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.062281s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.033533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.187290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.109033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.081352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.345838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.157923s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.031834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.337719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.133041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.054330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.094738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.168921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.063826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.303558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.054066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.129025s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.147009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.116360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.102135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.076210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.052169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.078137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.250500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.117863s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.043225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.108530s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.052273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.073811s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.051356s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.082329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.160895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.204697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.166487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.057019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.103726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.175559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.173927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.093903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.065580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.113065s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.032424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.019879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.091926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.018607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.099333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.201778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.285009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.076912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.218257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.081886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.043114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.149861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.059567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.038487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_only_enabled [0.160166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.145562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.093942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.308103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.077796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.055377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.032862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.154915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.119964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.072377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.015521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.059390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.098491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.134556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.094702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.108595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.348367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.047059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.092259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.103461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.093313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.039625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.055431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.073609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.098548s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.213837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.062144s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.036818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.120939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.053695s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.079379s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.052121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.165311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.086990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.062545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.089127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.096950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.029974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.086811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.054448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.143393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.027180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.021534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.065737s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.079436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.020951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.025117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.077846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.072508s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.073384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.046681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.100369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.118138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.026781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.046629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.103381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.025873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.029692s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.062174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.073443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.029226s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged_for_fake_node [0.024249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.026065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.074173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.067906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.037062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.167304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.058087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.026684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.019474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.028497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.088290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.090557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.026974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.099196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.071884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.072785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.073286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.073327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.096435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.076456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.078107s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.039442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.057329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.065987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.030283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.029250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.168740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.029962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.027698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.044681s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.018694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.030787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.039839s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.037232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.084279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.019104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.081850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.040434s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.110770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.029446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.033320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.021809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.084388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.023333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.026569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.081531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.020342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.061782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.186965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.020440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_rpc_disabled [0.018042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.022381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.066602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.022405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch [0.103942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.019208s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.037999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.023815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.102505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.030391s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch_with_rpc_disabled [0.087306s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.029666s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.044309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.039450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.034573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.136270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.171828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.040263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.097724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.021085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.047785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.117906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.063951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.149658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.102161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.041607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.049572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.126205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.049782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.023583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.155233s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.159707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.063855s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.022596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.078186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.031844s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.118793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.019675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.121300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.084859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.104972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.093984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.070626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.191865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.083713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.038151s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.107091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.038707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.090663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.053038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.131783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.018712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.015945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.106474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.078077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.062309s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.058502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.137957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.054918s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.086886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.105525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.062563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.069372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.075310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.185940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.041914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.080899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.064429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.057693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.128202s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.054439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.097147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.069483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.094917s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.092236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.069833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.024955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.096032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.134364s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.073747s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.261982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.035958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.133777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.084209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.107612s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.056887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.104468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.061951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.066471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.103201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.049295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.097972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.047691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.045052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.114289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.052044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.176806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.134527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.103833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.062609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.076532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.053171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.019514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.015830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_exclude_current_conductor [0.086483s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.090322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.171357s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.039707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.122866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.221545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.029477s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.436877s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.032241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.029411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.106635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info_string [0.172181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.049754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.049968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.150865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info [0.129680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.060979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.077874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.048209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.054881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.045831s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.039692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.082352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.092738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.036823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.081549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.075766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.067050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.098048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.052261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.117554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.045715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.090150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.053181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.026460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.617505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.125462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.053158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.032077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.088468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.044646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.065657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.279683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info [0.061359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.165552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.040902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.286590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.049321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.082977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.041320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.095281s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.126074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.044539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.095117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.035969s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.042329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.047279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.043594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.136643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.047085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.159672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.069721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.065800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.077171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.073974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.058183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.085381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.182489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.053097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.043868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.174738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.052187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.098152s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.083354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.065662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.048010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.152550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.033679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.072119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.018975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.046703s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.039034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.192497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.065990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.066948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.129470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.027934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.027131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.071881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_interface_check [0.028754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.030738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.104416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.017920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.026956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.102312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.029199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.024078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.060612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.265413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.025205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.023314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.060561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.027207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.181177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.034197s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.063987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.121520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.032320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.030400s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.110084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.055548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.037256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.046882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.078551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.060718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.182563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.074135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_expected_exception [0.039891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_with_rpc_disabled [0.041675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.079442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast_error [0.034388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.108109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.040332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.290007s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.039343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.069689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.131664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.038495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.042064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.074063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.063134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.141180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.034341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.031286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.073677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.082064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.038033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.032423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.082375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.177827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.081566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.164508s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.101593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.097080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.046064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.056623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.047380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.156509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.043420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.164555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.039550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.084417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.056924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.084631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.176201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.082881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.080653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.031653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.081973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.026460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.160229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.037222s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.024885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.080862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.118502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.032437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.028904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.035614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.027485s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.021651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.032213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.212403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.042599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.126062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.225207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.085177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.104734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.114706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.048296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.169974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.161620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.149214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.179495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.124049s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.091604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.186466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.102884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.076342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.105271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.117114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.095687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.052854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.044467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.033702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.542539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.075395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.190695s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.074829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.052252s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.058866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.160336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.021677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.041222s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.267701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.159711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.061730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.122302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.067896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.093489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.095311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.064807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.059433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.066949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.107854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.038294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.143186s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.049511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.047346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.135779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.151873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.059979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.080565s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.050304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.080483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.068178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.088488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.084277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.033690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.015028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.075483s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.350855s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.067965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.076578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.047829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.028872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.036756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.068073s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.135010s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.044175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.094646s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.045673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.058344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.051829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.093618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.045882s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.015730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.050846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.047158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.072674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.048711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.041022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.083814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.197494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.101086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.065101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.087981s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.044396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.049527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.082587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.022522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.036409s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.083458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.021147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.115264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.028738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.021431s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.061936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.021802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.020545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.020508s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.058268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.097215s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.023123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.366839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.027102s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.065963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.046355s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.040480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.054560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.058550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.159514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.045885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.061793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.073668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.039945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.129453s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.044159s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.016448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.028258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.035541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.050760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.071619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.073069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.057695s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.042049s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.083942s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.095714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.147246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.083844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.218997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.124952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.180696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.076036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.049664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.175151s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.022515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.092888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.048641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.085655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.050900s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.068676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.066616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.149854s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.126152s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.049016s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.047300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.085363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.032455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.112414s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.036584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.023959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [1.163758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.042400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.118751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.092159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.020604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.094113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.043960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.067537s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.044736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.050387s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.083082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.036039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.082995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.127978s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.046978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.071457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.047909s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.133383s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.069273s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.030374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.108955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.082752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.055228s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.074590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.049701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.081507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.035109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.070812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.027337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.127542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.030699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.061252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.035376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.120285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.024166s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.080305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.031859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.025389s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.093498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.046446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.027886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.038433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.095507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info_string [0.146513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.054975s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.023103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.100752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.067177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.114395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.035657s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.018625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.190344s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.082180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.122806s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.061942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.048409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.074919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.062125s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.060192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.032316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.036963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.072294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.042130s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.062394s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.055129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.046440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.114493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.045403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.043702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.027366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.042293s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.049552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.044240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.106560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.178023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.026063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.627831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.076237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.028196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.028564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.033148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.085125s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.079736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.034465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_noop [0.135324s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.075309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.080950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.092555s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.023501s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.092893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.057081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.046420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.118884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.048859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.125275s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.063224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.078607s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.111121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.083847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.219039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.125602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.069069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.044537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.028383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.036680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.139568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.034293s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.114872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.031205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.093555s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.044624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_keep_last_error [0.090752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.039343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.070249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.041230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.033933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.154587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.110624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.074860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.031766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.085448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.065495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.098358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.109621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.209691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.050333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.051004s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.092383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.093855s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.053804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.140026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.035934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.102569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.046784s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.100972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.048869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.070458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.130299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.021146s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.111211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.091188s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.082378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.043992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.072316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.184035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.119910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.081630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.014301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.181295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.100511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.035484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.034269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.037553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.031287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.231957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.036389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.020641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.176768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.035127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.034044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.029953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.283303s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.032426s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.142974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.022636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.080388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.027801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.166248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.027850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.034593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.040543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.031259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.201488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.034459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.195883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.181617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.032998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.035341s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.040178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.032961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.129787s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.172811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.041240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.033220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.215559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.035204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.115518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.034713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.029364s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.179132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.030068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.079677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.037160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.176582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.027386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.082521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.033267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.053787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.034807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.025002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.071856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.162680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.030185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.016766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.067800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.028836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.040103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.126594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.069913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.223633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.070371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.077074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.150315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.093288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.069478s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.136761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.014527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.056180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.081838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.093206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.045946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.046712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.066638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.073344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.038868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.042665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.125569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.086301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.062216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.072018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.043686s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.075456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.040684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.067480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.076812s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.035078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.043460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.073779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.066251s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.063582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.053069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.078000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.205836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.060475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.073435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.040380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.040025s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.035832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.049009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.026647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.037101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.189864s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.021540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.043851s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.058288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.050665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.194744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.040321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.132432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.066905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.039851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.053434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.055433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.055971s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.040024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.101445s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_different_inventory_time [0.070244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.047553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.052714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.198335s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.084249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.109541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.026133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.054300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.056286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.059510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.103814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.157801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.035017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.066000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.034043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.064727s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.062852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.030996s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.193039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.036806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.028962s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.069542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.039569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.035399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.331244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.045313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.043595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.072606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.045844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.083776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.065889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.281401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.060617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.054830s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.032879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.047931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.043977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.127678s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.052180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.717036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.028205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.076802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.030406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.028163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.074099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.116617s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.168620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.089927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.064342s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.034546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.046432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.057615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.047955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.156551s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.044272s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.044363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.036574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.083359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.041177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.260899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_verify_step [0.087890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.054784s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.114103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_deploy [0.088061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.085184s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.058354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.053575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.081020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.100182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.047015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.146687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.066328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.067946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.072454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.082287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.111565s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.043251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.045368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.054367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.055046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.122536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.081612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.058304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.078892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.077056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.070263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.230181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.044270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.581816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.072638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.152097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_clean_step [0.077289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.034815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.202068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_verify_step [0.088019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.093347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.030587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.055957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.108428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.043853s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.066804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.067650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_clean_step [0.075737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.047976s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.119893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.031551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.131753s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.029603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.060223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.086788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.044995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.036982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.037349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.068546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.027484s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.046344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.038163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.046988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.062113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.021580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.047657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.070283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.061635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.090928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.020527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.042095s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.060161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.039895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.041445s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.026536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.040151s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.040452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.067027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.038815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.043876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.038181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.038334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.042765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.025615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.059580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.051993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.071565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.050670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.051578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.038148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.054771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.021813s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.042525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.040250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.063537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.044338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.038979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.031647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.037401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.040392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.027578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.037488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.032105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.018698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.020001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.016191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.038720s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.028493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.068960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.032369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.044129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.060355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.041436s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.045966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.022357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.036499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.041448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.030930s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.050514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.032465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.033026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.023589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.047505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.032312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.030797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.048576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.042342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.051258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.054837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.051281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.041767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.059181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.041669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.044563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.085143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.022259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.038786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.057758s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.042167s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.046510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.038406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.043970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.043788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.071759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.029583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.028138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.077915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.037361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.031754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.024669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.047784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.048394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.042849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.059591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.034296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.032940s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.043801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.036232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.048408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.032600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.039993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.043744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.036569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.030878s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.050151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [2.587069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.042911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.036295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.048826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.039080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.062549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.034353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.051104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.056431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.049518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.033904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.052622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.051784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.048301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.020962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.039499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.063890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.038937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.035153s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.057932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.038617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.068755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.038712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.036660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.049236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.097765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.056441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.064781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.062120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.061971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.089357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.063304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.034274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.072401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.041578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.033118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.054667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.059078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.021332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.054789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [2.586388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.087932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.020971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.049469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.082542s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.041606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.042758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.053464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.025276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.036518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.032194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.128410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.048762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.128608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.090911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.061317s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.041499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.040766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.029720s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.125346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.028923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.044935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.043886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.055562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.046850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.049496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.109218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.053525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.044356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.067372s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.072453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.072405s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.055827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.072397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.063587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.055312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.087631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.020987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.099362s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.089650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.076671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.045536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.058631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.056654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.050864s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.051316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.067855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.063173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.051480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.042591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.030639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.051792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.022982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.023910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.059810s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.028315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.033763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.119549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.049801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.037111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.046688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.037920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.047473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.056594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.113964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.047631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_whole_disk_image [0.045310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.098792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.057583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.066342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.022734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.029669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.050916s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.027628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.077995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.035259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.039541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.024750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.083422s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver [0.070745s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.040649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.044792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.044520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.084002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.035553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.046488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.062717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.041932s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.054633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.052546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.065531s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.049590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.062529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.022037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.047014s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.049270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.056021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.071465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.071873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.043723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.049815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.078523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.100640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.026588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.070715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.079822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.046790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.057129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.067223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.076088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.038130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.069893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.051042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.349106s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.080645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.029883s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.037819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.275678s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.045006s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.062112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.034416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.024492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.040372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.035604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.302969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.038486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.053864s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.029603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.091866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.039763s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.065199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.040257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.040420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.056552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.051885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.035505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.042918s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.024499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.052576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.098992s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.038004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.055055s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.039071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.045265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.024849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.023120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_clean [0.100262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.042431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.026107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.021596s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.038531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.022540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.025892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.050407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.027655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.109073s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.038969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.033041s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.051169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.053482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.027728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.037917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.025313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.106821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.037304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.036405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.060479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.047880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.040351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.078137s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.031165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.057946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.050806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.058252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.067580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.065167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.065327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.073169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.044241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.047127s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.062090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.050849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.037630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.096086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.041910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.058816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.094995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.072052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.108590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.078524s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.083060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.253966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.094937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.025851s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.040174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.023103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.099629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.090816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.041673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.032776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.031270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.042701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.072952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.142316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.048549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.049285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.045118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.041408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.043497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.056639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.052014s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.144094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.034785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.094819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.067753s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.028740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.037428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.035113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.042925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.123604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.063277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.041314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.032329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.041120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.056567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.052001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.045326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.036007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.111647s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.068934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.046112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.135478s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.061138s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.090442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.064270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.050736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.081561s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.057702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.054655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.045775s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.060884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.033768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.070982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.091903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.024882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.066746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.076730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.076553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.149664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.067965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.065990s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.077332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.062257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.087013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.119121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.096882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.038306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.038447s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.064596s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.082920s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.036714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.040441s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.116439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.041918s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.073764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.036206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.050233s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.069058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.038112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.074838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.063569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.085154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.038004s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_image_local [0.047029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.056666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.079119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.092973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.076086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.101519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.092128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.086166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.060806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.096884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.069321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.089220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.063005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.058385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.071211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.093187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.044527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.130079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.071426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.062984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.069001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.063264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.080862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.111705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.085256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.073576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.030370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.074555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.033535s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.038070s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.075375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.046547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.138035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.064877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.046642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.043652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.057156s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.061297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.110185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.090522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.055144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.076491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.075183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.137629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.092894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.045328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.041554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.049375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.041185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.107229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.044224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.059382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.036275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.022787s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.085081s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.024238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.045246s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.021785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.051847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.027599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.072749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.034016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.053217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.033511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.067591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.050099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.043891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.116416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.071459s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.037568s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.066285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.037224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.084473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.025145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.029873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.079454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.029393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.027004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.065402s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.104230s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.051140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.043528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.028966s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.025942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.064734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.016152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.118723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.061128s] ... ok DEBUG util.py:445: {1} 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.027261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.092077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.110466s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.050812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.072157s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.104137s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.057825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_glance [0.063238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.059704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.051699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.041210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.033820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.074933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.046056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.067984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.057507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.049125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.050100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.054298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.087809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.155686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.055358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.150229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.075877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.051876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.037798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.130226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.075979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.043434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.040373s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.024988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.112886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.091526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.023356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.023942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.036703s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.093936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.095289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.037735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.025101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.049878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.046825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.089682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.083794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.036066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.035593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.100436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.033819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.101702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.039238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.052218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.024799s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.024197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.023132s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.062405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.105842s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.045521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.079071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.053438s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.078121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.035494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.069967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.041974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.079284s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.036022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.022307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.083373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.080898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.041417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.045877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.028614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.035122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.057780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.083027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.030819s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.049790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.077196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.059746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.049893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.056871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.087755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.123631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.035887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.024556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.069745s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.023915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.032754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.074431s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.031682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.081800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.028392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.028956s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.114002s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.077600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.029928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.017103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.017111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.016909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.014702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.072253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.084253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.056216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.081446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.057819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.064031s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.041918s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.071513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.077168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.061281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.070215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.293803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.054741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.056668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.129206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.046964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.041791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.036759s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.080191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.067333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.044555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.134206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.073240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.044984s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.086081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.043890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.095473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.081131s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.090058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.034859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.044056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.041893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.086579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.099433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.045419s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.032455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.090211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.034654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.041148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.078815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.047742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.077219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.147802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.064921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.044551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.042313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.056225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.072403s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.039388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.080294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.069049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.041667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.062634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.060909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.067661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.054330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.087420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.067725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.039025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.038981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.045029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.083562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.057549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.071520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.055247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.073452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.058970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.023929s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.027153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.023256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.040598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.036409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.025863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.118604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.031996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.026098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.566649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.040048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.048885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.044827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.050943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.039727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.044162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.149508s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.029909s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.022088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.043156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.048655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.039391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.040794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.112592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.052690s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.038254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.050074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.034701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.051457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.108345s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.054047s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.044525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.055906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.049838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.097830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.507385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.052881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.075057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.094848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.060483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.076042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.110186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.088070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.035129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.033631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.102086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.041891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.031452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.088956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.042148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.039290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.042366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.095639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.036838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.049898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.079154s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.058467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.042135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.100227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.058320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.072832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.206060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.080605s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.063159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.061249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.037024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.068771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.069779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.060613s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.057346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.090570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_https [0.038438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_https [0.038105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_https [0.030964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.024870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.026115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.022712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.023170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.023723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.023636s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.024891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp [0.023660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.040386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.033185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.033871s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.056546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.101377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.049252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.060153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.041166s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.034027s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.052408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.035051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.094522s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.064619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.040811s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.050524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_avoid_repeatedly_resume_cleaning [0.038957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.030472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.057247s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.057721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.070799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.025289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.037687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.041625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.068844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.043556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.040954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.031680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.040812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.040491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.060790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.049602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.049870s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.036403s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.033521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.044287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.025374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.025375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.038008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.033174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.039063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.033678s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.039452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.033655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.053839s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.040792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.039254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.044098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.039372s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.068763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.081087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.059190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.036215s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.036596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.086158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.057535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.032204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.141659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.041865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.022889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.074088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.075613s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.083902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.073435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.075182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.064715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.043058s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.099495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.051705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.056809s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.082649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.067844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.063438s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.080910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.074847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_lenovo [0.068782s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.094629s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.077487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.095081s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.082355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.077698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_uefi [0.076354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.079915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.083379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.116291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.041689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.031336s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.063475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.079491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.141139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.029122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.067659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.043837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.035338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.103129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.076719s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.043562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.049971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.084853s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.069942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.052573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.066347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.041278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.085559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.037308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.032498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.102184s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.043979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.022415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.056870s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.022891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.023068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.068615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.049915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.052639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.042482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.049002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.046196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.028354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.042215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.052832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.068616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.046901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.071054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.041603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.046260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.063127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.024710s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.040280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.059198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.040354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.069410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.044139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.041099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.048721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.034778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.032773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.045727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.039523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.051594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.037741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.047857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.035616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.047297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.081658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.047399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.036236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.047588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.040647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.058296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.037113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.042833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.058878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.060534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.055071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.016311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.040480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_http [0.034001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.037528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_http [0.032432s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.023530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.051902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.033834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.038047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.056675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.024909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_ignoring_snmp_security [0.029149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.064432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.039995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.028530s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.021105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.023098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.056277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.039743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.035180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.040407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.035443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.037598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_support_auth [0.027993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.025090s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.053082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.061001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.086227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.046657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.036460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.032529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.035707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.035400s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.041656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.051541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.046416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.036032s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.037213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.041643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.043961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.031267s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.059100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.089583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.062412s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.079588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.079229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.083846s] ... ok DEBUG util.py:445: {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.048535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.036283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.038893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.038872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.209456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.040214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.055554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.047366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.053236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.052730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.033950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.042095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.032639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.027307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_swift [0.031164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.022996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_missing [0.019010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.016763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.025834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_not_string [0.019027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.022603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.042230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.056563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.044505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.037176s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.045111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.064272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.048617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.196929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.052208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.041397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.040015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_error [0.036760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.031197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.040435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.034575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.032402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.028700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.027912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.029452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.029791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.201221s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.057890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.034791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.021767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.037350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.030838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.040412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.030154s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.039742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.066315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.058000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.069086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.030553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.038366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.045161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.035220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.038286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.041356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.065328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.045177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.036047s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.034700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.025466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.028976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.028508s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.026485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.040434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.033520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.038465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.039511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.058191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.045060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.049485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.073425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.043500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.037115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.086150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.041970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.063597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.045242s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.028647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.032985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.042618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.055547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.040024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.024347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.042366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.023325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.046248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.052592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.040462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.046485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.037447s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.036808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.044166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.044429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.066265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.042876s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.063531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.044148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.054254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.054180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.034711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.060734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.042261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.033401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.087780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.036056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.028532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.092062s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.051328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.046216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.087828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.077343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.053432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.042908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.088948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.052560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.051464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.068648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.047447s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.035688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.075304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.062763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.030787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.073860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.032444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.032084s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.062892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.033197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.056317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.043257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.039606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.044184s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.050099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.041944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.035715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_ramdisk [0.051628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.051786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.037934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.053550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.076303s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.046738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.038652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.080186s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.055180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.097030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.031440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.040428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_http [0.029812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_invalid [0.026145s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_get_swift_temp_url [0.034339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http [0.029618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.025758s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.023247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.037291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.289090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.047093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.055058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.056469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.061575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.038831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.055682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.039690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.057852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.089339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.044581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.033374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.066741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.053904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.052571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.082538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.038238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.049867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.041831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.049711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_https [0.045866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.057770s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_swift [0.038079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.063521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.063862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.044351s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.034602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.063450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.021080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.055021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.069771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.056902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.077473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.089508s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.067679s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.064358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.067030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.112717s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.071952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.343557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.086728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.068691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.070213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.074662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.084267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.084634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.090266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.081869s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.060743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.035794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.083729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.097781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.055320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.078362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage [0.068793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_bios [0.102091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.089628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.059662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.104152s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.078773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.076523s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.066511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.052550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.072241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.075140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.088799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.119030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.053393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.063101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.033094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.132780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.062714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.079299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.068432s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.101171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.043977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.080055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.060323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.070157s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.096189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.082091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.054047s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.082051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.084455s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_reboot [0.048571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_loading_error [0.042578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.055224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.047541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.114178s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.081179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.052554s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.080945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.103631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.055416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.073070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.067492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.062061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.108897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.052959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.046599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.053331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.058197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.017317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.102716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.018269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.021904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.062419s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.017094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.023492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.099641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.029147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.026114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.099159s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.066669s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.048293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.099091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.093162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.063310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.037636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.068772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.080690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.044917s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_bios [0.079953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.043964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.031928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.098964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.035382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.035353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.077593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.133036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.064891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.065806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.084049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.105643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.089030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.103480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.084569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.088885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.113380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.065001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.108405s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.061042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.048570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.085215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.084297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.080186s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.068871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.070909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.061881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.064295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.058847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.112751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.088683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.054708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.055433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.057147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.224680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.042941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.041828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.030673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.034448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.040030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.037491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.039723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.039917s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.039952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.032814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.030695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.046244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.020673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.032142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.037242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.022066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.050642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.034911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.025655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.034094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.055419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.032748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.037560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_lenovo [0.033622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.051204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.031930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.040353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.048619s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.033947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.040900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.042088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_unknown [0.045724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.045287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.050293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.054369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.059103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.043577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.049487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.075809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.045002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.038433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.053030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.033661s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.016303s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.015830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.015965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.014971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.036617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.025644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.023409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.015330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.018754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.024955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.019384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.021694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.826702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.022288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.019287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.018384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.018840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.028813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.030186s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.025320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.029053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.029287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.029323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.030694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.020673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.018758s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.019741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.025213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.043609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.040591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.026905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.017514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.019736s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.020755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.017047s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.017400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.021918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.037511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.018024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.020689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.020540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.020350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.020495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.081605s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.036424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.020006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.027239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_software_raid [0.021161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.019367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.088502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.026839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.013824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.013266s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.016240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.019267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.013908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.013588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.015278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.013665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.035258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [6.037028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.048493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.024781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.057551s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.053459s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.015447s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.044245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.036603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.017473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.028193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.069010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.046089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.028154s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.022689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.034046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.056103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.037107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.083347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.035793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.039718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_no_fast_track [0.033301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.043519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.036114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.025991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.031651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.047810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.016445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.029016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.056000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.015827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.036585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.048725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.018283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.031855s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.025916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.018214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip [0.077219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.028025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.027276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.058504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.023711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.033991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.046244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.056369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.043523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.044927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_noop [0.050327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.035896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.044615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.017018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.049314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.021539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.023772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.019148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.017687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.068293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.017147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.021548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.055688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.023539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.023862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.027234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.065100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.021679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.051713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.133657s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.025701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.039204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.022497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.024737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.039246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.027719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.023963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.376812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.047210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.143722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.048360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.023682s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.064189s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.026264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.024609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.047658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.029705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.035585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.016287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.049968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.031049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.029355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.015183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.059525s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.035241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.073821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.037420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.016784s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.023509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.049687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.017052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.020400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.015974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.017683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.018339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.087887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.028879s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.015268s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.041056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.048889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.055805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.041934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.025384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.074195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.035869s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.039356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.088412s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.041050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.040286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.041224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.036647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.038996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.021505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.036386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.046239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.035694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [0.039457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.030301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.039500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.033958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.040130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.023804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.021658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.048633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.045231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.036715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.028311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.056351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.044910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.047519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.062337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.065093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.266044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.027033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.040177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.024424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.036344s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.035159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.034462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.046474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.023998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.031241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.036120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.066116s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.034326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.028964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link_no_restorecon [0.059033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.027947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.028023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.058427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.045489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.038448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.029451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.046256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.029102s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.060650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.027260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.025964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.049718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.035307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.038274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.033068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.041284s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.052219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.033290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.031915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.021650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.026847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.028223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.041069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.029609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.022837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.026999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.059631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.040526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.035777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.040024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.044839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.042796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.040350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.035460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.044918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.047436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.056020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.049305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.043619s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.066782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.057917s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.061828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_connection_problem [0.731531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.082356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.070574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.043711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.030625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.042975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.044067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.045398s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.044608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.045584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.046695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.015360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.019733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.014569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.037330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.044630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.053192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.053159s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.059375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.069505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.067164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.050835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.036518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.031632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [1.027977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.030927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.032971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.032225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.072695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.030073s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.030850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.036237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.046227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.038664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.033276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.030083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.030623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.031986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.027370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.037538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.038401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.027000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.039676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.041886s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.047197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.043019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.052954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.051047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.041543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.076109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.061124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.067557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.071594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.069490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.063880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.083517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.038582s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.031323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.071084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.032346s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.017292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.042610s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.099888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.036151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.050761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.053675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.085630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.061545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.276482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.052772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.043315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.017897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.043825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.034883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.038201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.017357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.037789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.055020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.038255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.017357s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.062998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.038532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.056361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.032650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.019582s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.031093s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.019327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.050974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.036638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.018039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.062718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.032045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.046749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.054950s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.052299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.031885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.035482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.034640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.016965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.024389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.026518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.034240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.016907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.023519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.029240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.025849s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.048060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.028374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.023908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.023622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.032821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.033986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.060754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.046098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.042424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.049943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.038145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.023053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.054291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.014300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.022727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.023042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.033198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.023818s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.020918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.022333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.027484s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.024289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.027062s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.027419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.014043s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.054238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.034486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.027562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.028261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.026407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.030261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.014940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.033530s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_idrac [0.035001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.036546s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.055428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.057245s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.050765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.051962s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_bios [0.046470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.044394s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.041489s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.060919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.043990s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.055246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.033076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.050256s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.046502s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.055443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.053456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.046092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.052098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.044611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.049794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.046312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.062052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.041906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.033344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.069240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.052813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.041958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.041473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.047038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.062304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.053458s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.047637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk_with_kernel_arg [0.063611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.030737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.070563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.082975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.042638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.027404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.111862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.033871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.066220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.090101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.062056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.036786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.074888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.060001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.074893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.034699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.018238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.076184s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.035792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.035111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.037262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.025174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.050123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.026730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.016110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.015761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.026211s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.044302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.046196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.019949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.042218s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.059495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.042580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.055754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.034338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.036725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.083741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.025481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.047276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.066117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.036105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_lenovo [0.048181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.030825s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.037095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.050930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.024893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.026174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.047199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.013914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.031797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.031426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_bios [0.068058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.043745s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.055078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.032698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.022584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.070164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.050411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.017690s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.068046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.040831s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.033903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.055145s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.017436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.044278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.020375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.082374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.042398s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.045766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.020720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.044880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.033761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.026730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.022076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.057166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.037949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.053218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.030973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.030280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.023443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface_overriden [0.018090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.023341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.018531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.022368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.174850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.036958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.019165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.018029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.028978s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.021152s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.028884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.027309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.164356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.014205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.037010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.057082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.037383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.014984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.057908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.026943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.028402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.017139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.015637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.064094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.014004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.014820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.016017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.016765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.022999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.016645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.018045s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.017947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.137914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.019326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.017367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.016313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.016325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.096042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.017584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.017635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.019497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.018866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.017112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.085908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.019102s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.034816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.023685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.016816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.030125s] ... ok DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'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.78'}} DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: func2() migrated 0 of 0 objects. DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: {'links': [{'id': 'port1', 'type': 'vif', 'ethernet_mac_address': '52:54:00:4f:ef:b7', 'vif_id': '96d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb8', 'mtu': 1500}], 'networks': [{'id': '906e685a-b964-4d58-9939-9cf3af197c67', 'network_id': 'a87cc70a-3e15-4acf-8205-9b711a3531b7', 'type': 'ipv6', 'link': 'port1', 'ip_address': 'fd00:203:0:113::2', 'netmask': 'ffff:ffff:ffff:ffff::', 'routes': [{'network': '::0', 'netmask': '::0', 'gateway': 'fd00:203:0:113::1'}]}]} DEBUG util.py:445: {'deployment_ari_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk', 'pxe_append_params': 'test_param ipa-global-request-id=req-7246f151-30e2-4834-b962-5885f5186a6a', 'deployment_aki_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel', 'tftp_server': '0.0.0.0', 'ipxe_timeout': 0, 'ari_path': 'no_ramdisk', 'aki_path': 'no_kernel', 'initrd_filename': 'deploy_ramdisk'} DEBUG util.py:445: {'deploy_kernel': ('deploy_kernel', '/tmp/tmpr2tew9g0/tmpdnfp44_3/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmpr2tew9g0/tmpdnfp44_3/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.335632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.073622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.071660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.019734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.027498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.044448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.026666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.058290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.039672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.019263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.042105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.035820s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.036019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.036205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.027479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.046708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.025749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.041483s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.022599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.029738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.020822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.027997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.019703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.020705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.020466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.019363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.017276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.018126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.019339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.035363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.042489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.035693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.037035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.034616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.018671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.019336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.019522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.019763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.018087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.025078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.024222s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.035324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.044609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.044282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.048329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.051496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.043033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.017529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.019703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.015256s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.021699s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.026434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.019778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.016830s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.029736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.032615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.016159s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_raid [0.037152s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.042733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.033474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.035419s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.032460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.034906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.031682s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.046187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.035288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.048156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.042027s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.040271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.018307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.020936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.025142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.026953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.037425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.051861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.038021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.023063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.019677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.020554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.021178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.019361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.020894s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.024935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.021002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.031197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.027291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.040162s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.015854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.016231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.015614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.015604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.019288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.019468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.019046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.018666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.016827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.028153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.019423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.023782s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.017897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.017814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.021667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.017348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.017092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.028487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.017641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.019640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.025377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.024850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.018134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.017657s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.020487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.018198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.019388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.021650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.017891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.022847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.019312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.023173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.019903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.024708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.018332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.020484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.018164s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.019071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.018863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.019212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.017458s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.023568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.014843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.014144s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.013676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.019721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.016243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.017295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.018505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.019192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.019536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.015312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.026657s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.015213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.014207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.019662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.014411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.013751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.029957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.017163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.014211s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.015228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.021818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.015621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.049200s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.026749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.016955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.022722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.017614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.017364s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.020513s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.021883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.017497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.025750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.020167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.019008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.019445s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.019939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.034933s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.021081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.020861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.019477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.021745s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.018086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.019567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.021088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.020743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.035492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.019841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.018390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.015768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.031038s] ... ok DEBUG util.py:445: POST: /v1/things/ {'three': 'three', 'four': 'four', 'five': 'five'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32e6b1cc-37b7-4163-baed-c9bb15963504 DEBUG util.py:445: {"three": "three", "four": "four", "five": "five"} DEBUG util.py:445: GET: /v1/things/no_content {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1ce14547-fb6b-43a0-b4dc-0683c3325b68 DEBUG util.py:445: GET: /v1/things/response_custom_status {} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8a45a67-0202-4cca-8b12-6f37bdc56af4 DEBUG util.py:445: "accepted" DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': []} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'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.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'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.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'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.78'}, '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'}]} DEBUG util.py:445: foo() migrated 15 of 15 objects. DEBUG util.py:445: func1() migrated 15 of 15 objects. DEBUG util.py:445: func2() migrated 20 of 20 objects. DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: func1() migrated 0 of 0 objects. DEBUG util.py:445: func2() migrated 0 of 0 objects. DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. DEBUG util.py:445: Malformed option m1.key1value1 DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [1, 2], 11: [7, 8], 12: [13, 14]} DEBUG util.py:445: [NodeHistory(conductor=None,created_at=2024-03-11T10:52:48Z,event='oldthree',event_type=None,id=3,node_id=10,severity=None,updated_at=None,user=None,uuid=410e8450-6ecd-46c4-aaaa-266437b56f75), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='one',event_type='UNKNOWN',id=4,node_id=10,severity='INFO',updated_at=None,user=None,uuid=52e0b76a-f0a4-42b8-8b59-f965a6d61357), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='two',event_type='UNKNOWN',id=5,node_id=10,severity='INFO',updated_at=None,user=None,uuid=e98f711d-c743-4664-af25-20fd2b524acb), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='three',event_type='UNKNOWN',id=6,node_id=10,severity='INFO',updated_at=None,user=None,uuid=0cfeaf8f-8e42-40eb-8f62-307f90f94af5), NodeHistory(conductor=None,created_at=2024-03-11T10:52:48Z,event='oldthree',event_type=None,id=9,node_id=11,severity=None,updated_at=None,user=None,uuid=87aa8852-f9da-45f9-9c08-4454edb6cc92), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='one',event_type='UNKNOWN',id=10,node_id=11,severity='INFO',updated_at=None,user=None,uuid=446bc16d-fe00-4795-a5f7-91235e2542f0), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='two',event_type='UNKNOWN',id=11,node_id=11,severity='INFO',updated_at=None,user=None,uuid=d2cbb1ed-b53e-493c-96a9-c54b84bd11c6), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='three',event_type='UNKNOWN',id=12,node_id=11,severity='INFO',updated_at=None,user=None,uuid=d4f9dbb7-0cb9-4cac-b483-0991b5815da6), NodeHistory(conductor=None,created_at=2024-03-11T10:52:48Z,event='oldthree',event_type=None,id=15,node_id=12,severity=None,updated_at=None,user=None,uuid=746bb699-3491-438c-a39f-79c24fe2656b), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='one',event_type='UNKNOWN',id=16,node_id=12,severity='INFO',updated_at=None,user=None,uuid=3125582a-95cf-45bf-b2b8-f9fa64b3c6df), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='two',event_type='UNKNOWN',id=17,node_id=12,severity='INFO',updated_at=None,user=None,uuid=c8032cbd-4b5a-425c-9ebd-36dd59f351cd), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:48Z,event='three',event_type='UNKNOWN',id=18,node_id=12,severity='INFO',updated_at=None,user=None,uuid=67d757ee-cd92-45d2-8e2c-c29ddbfb31e6)] DEBUG util.py:445: returning final set DEBUG util.py:445: {10: []} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [60.086903s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.049105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.049875s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.036666s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.042275s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.048445s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.044674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.056841s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.055149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.053577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.041651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.045954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.052665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.053834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.018111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_https [0.029216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_http [0.031427s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.027946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.031563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.020706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.027525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.026156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.021830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.023265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.021936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.030118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.021519s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.021701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.021519s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_not_support_auth [0.026910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security_ [0.021822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.056486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.028462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.051669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.030098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.047334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.038179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.036046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.036974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.033876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.046927s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.020655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.037116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.029176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.033672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.037761s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.038599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.037384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.027624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.037164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.033510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.200259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.028922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.048599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.038613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.060913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.051232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.042213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.039491s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.048532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.041464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.040052s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.042201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.036485s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.065345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.061729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.055640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.067596s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.057721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.050217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.038512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.040461s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.050433s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.043454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.051345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.040504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.041864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.063404s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.035050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.034693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.034900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.045958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.052552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.035002s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.047165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.029397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.042549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.038592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.044754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.053184s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.037680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.055501s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.036780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.036071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.036056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.032318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.054471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.037996s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.038429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.044606s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.046740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.043282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.043937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.041761s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.057196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.064750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.057334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.064440s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.046095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.057156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.049559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.049101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.022081s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.027756s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.029831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.030390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.031284s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.036383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.021503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.026389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.036057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.027472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.030340s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum [0.014871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_mismatch [0.015114s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.030323s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.036416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.040017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.041468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.037505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.052113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.038789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.028572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.027619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.033531s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.027253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.038947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.038978s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.029712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.027482s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.028239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.031400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.053955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.027874s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.036078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_invalid_args [0.033854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage_both [0.039537s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.027336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.038898s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.019685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.044500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.037150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.040744s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.200886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.038310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.033958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.050793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.035798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.029011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.037050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.054888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.046621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.041884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.042859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.029134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.020956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.022867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.020104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.021170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.029301s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.028905s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.053507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.030026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.029886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.044142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.044839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.045734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.053117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.049547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.042033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.048586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.050337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.043303s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.042410s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.037686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.034887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.041909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.050844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.043097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.045244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.037924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.056550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.027704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.044618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.071400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.052880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.038269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_image_type [0.034479s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.043204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.046056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.032687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.036101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.020561s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.020566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.021620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.075237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.037214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.057985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.074885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_bios [0.059965s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_uefi [0.046404s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.048961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.067675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.037738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.043521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.038873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.063103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.043856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.045900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.041592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.044663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_old_command [0.044711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [0.049181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.041374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.044258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.040625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.116911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.036060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.036278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.035013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.036436s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.034794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.186958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.018191s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.017175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.020289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.018985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.016438s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.017963s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.017704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.017483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.038159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.014459s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.014339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.036159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.041455s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.037337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.019333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.017712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.019153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [60.068213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.035028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.046774s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.040775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.022980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.028287s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.037068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.032283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.027774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.053474s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.017815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.034147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.057347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.031387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.026404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.057112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.034391s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.051059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.039118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.052107s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.057000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_http [0.029849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.022879s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.053791s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.023116s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.026590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.041179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.022533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.021729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.039025s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.021005s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.039168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.029708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.016611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.020235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.021005s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.026141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.028044s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.043079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.030257s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.031500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.043274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.068140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_netboot [0.052997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.072808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.047646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.035338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.032055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.038530s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.032196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.033330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.032163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.040258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.106660s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.023387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.033364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.091808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.026286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.013882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.035658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.044049s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.028203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.027805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.037467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.037433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.039389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.038104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.025723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.047288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.049076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.036368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.118313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.034776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.037050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.096651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.044698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.043204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image_netboot [0.079954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.035373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.031733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.033670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.084827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.039496s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.079128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.059023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.059124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.077413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.028322s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.057196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.050698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.075487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.048269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.059419s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.051558s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_local_boot [0.036106s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.032560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.046915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.033405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.051991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.034551s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.020833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.061149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.043120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.050723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.056902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.026972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.023273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.065604s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.021113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.028322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.033707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.074357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.030938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.034870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.094025s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.027857s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.055997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.072374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.051561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.077836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.058663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.054386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.038715s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.037668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.043004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_file [0.077186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.040118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_schema [0.053313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.042291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.056305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.051451s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.058175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.057464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.218902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.032174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.049522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.031721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.051624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.048411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.051022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.039047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.038043s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.060045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.040259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.061138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.040273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.057895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.050203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.033650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.048660s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.077012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.043568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.047276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.070934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.036795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.133352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.048784s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.055873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.032924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.035724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.063244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.051705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.069456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.043903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.040038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.066263s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.046225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off_on_fast_track [0.053926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.059424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.048011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.100700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.038722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.036517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.032634s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track_via_driver_info [0.091901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.058559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.016239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.059202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.043184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.064568s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.026646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.015123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.067763s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.063468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.036111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.070001s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.050429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.030378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.026547s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.044154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.063611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.033074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.027882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.036045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.067557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.043345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.044009s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.058150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.041599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.054174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.035974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.059366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.074788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.065093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.057399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.039784s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.057883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.045782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.054155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.053746s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.058269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.033126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.033671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.060334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup [0.022410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_notstaged [0.015154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_swift_fails [0.022062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_file [0.025197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile [0.019227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile_fails [0.018459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_local_external [0.022701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_swift [0.024144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.015914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_not_string [0.015312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_source_not_known [0.016248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_missing [0.026543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.036806s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.304527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.045319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.050200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.045158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.041781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.049501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.042493s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.051918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.036787s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.045897s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.036829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.034212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.051424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.030342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.038779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.028212s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.029459s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.056398s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.032833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.036552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.044163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.070038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.063892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.044646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.045659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.040772s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.041225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.254994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.032153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.066704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.024407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.054974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.043380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.031049s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.033213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.041207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.037117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.071953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.079704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.078196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.059624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.034707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.038040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.056245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.063612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.039289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.047861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.056082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.030704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.073272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.032563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.065686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.061321s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.061416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.079614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.055556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.063205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.062748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.041910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.077945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.041373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.049925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.121015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.053086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.070714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid_default [0.096675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_password [0.079048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.093674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.054335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.050882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.033458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.120822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.021980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.025835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.024679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.127945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.040102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.063567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.065105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.141987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.068609s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.102908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.068139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.055218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.077017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.055447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.063681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.078140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.082160s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.065206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.059076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.090424s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.067649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.055111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.056432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.048738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.066731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.033422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.052559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.050587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.058918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.051894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.038691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.048382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.032859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.052702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.037287s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.044685s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.041587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.111597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.067583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_bios [0.063652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.080880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.075172s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.086145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.054936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.079726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.054051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.310799s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.047795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.044783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.091699s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.034312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.053122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.044831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.049187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.060348s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.040561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.056227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.065349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.075581s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.039117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.064249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.121659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.065897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.053196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.084108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.039597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.062892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.055332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.063399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.040904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.040542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.074173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.044406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.070514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.053835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.067030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.046742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.033017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.041393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.029825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.026889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.027452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.029034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.047705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.024939s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.040080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.028132s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.038711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.027344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.037421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.040047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.032348s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.029707s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.018095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.037748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.040316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.037675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image_bios [0.058641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.032001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.049232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.049541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.039804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.032038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.039836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.032253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.019150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.038528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.043546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.049312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.047659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.041949s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.033573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.022521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.026941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.080548s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.025936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.079227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.066104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.051853s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_fail [0.054325s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.063024s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.064196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.045195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.082136s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.073349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.076477s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.049599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.028757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.016910s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.080707s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.037048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.016672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track_via_driver_info [0.059673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.034246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.049810s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.045942s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.036278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.041086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.036776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.034343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.028280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.034575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.034437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.042906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.017649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.044309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.043460s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.032531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.040595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.032867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.044652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.027650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.035442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.024134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.028360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.027248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.056465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.035791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.033253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.039101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.014362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.029516s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.019547s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.018878s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.015617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.023595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.019511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.018993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.016829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.022721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.247129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.023855s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.042216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.055723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.017789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.021975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.027649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.016989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.034081s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.029355s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.019699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.016302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.018685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.018926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.036037s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /builddir/build/BUILD/ironic-20.1.4.dev4/ironic/db/sqlalchemy/api.py:347: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) DEBUG util.py:443: return query.all() DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.038136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.039050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.035048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.023925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.038535s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.037760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.075112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.036481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.059568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.039838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.039838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.057809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.037183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.027607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.043069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.023700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.020337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.020081s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.027948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.059428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.028217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.026056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.057728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.024809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.050083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.020338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.045473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.062026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.052142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.022689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.034420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.055014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.029684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.028249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.037503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.035926s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.030607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.022416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.023826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.049552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.046249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.029582s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.017168s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.027461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.062128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.046492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.053211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.038759s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.026272s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.032938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.024490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.025602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.027851s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.022262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.016353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.042894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.026248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.048433s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.020402s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.019686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.046547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.035022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.043721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.026302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.018805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.040855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.029642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.041408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.044095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.024100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.046217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.024127s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.055897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.027818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.014245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.017677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.032120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.020900s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.022937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.021010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.025542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.022429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.018252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.030716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.017895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.017631s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.025697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.022404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.029410s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.021875s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.019553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.042760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.021212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.018541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.017783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.068249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.019901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.021664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.019147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.060218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.022379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.022569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.019465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.019015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.085126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.019153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.018924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.018143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.063543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.018311s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.019083s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.017954s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.019341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.018141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.078583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.018589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.022675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.018826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.018818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.022251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.061567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.021445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.031179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.017527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.020286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.031480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.016801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.021614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.031403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.028620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.023801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image_netboot [0.023147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.027793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.037896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.035411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.022881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.022322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.033020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.023990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.034407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.016984s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.015840s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.021782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.028000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.029384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.016740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.015608s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.046936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.015213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.016947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.019149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.039939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.024588s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.031256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.020165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.032705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.026447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.014719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.021372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.037945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.044546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.024701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.034280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.027791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.020335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.032583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.038706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_from_swift [0.194983s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.033371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.030252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.033169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.031352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.065741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.041116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.058180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.030370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.034063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.024395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.046286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.047986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.029585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.033084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.033717s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.086148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.027880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.055088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.037614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.030679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.022523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.026220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.032542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.026867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.041379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.017797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.041335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.023724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.024676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.021046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.021743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.027833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.022988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.015361s] ... ok DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6acdc696-0452-4557-90e1-58b3f06f452a DEBUG util.py:445: {"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-20.1.4.dev4/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-20.1.4.dev4/ironic/api/controllers/root.py\\\", line 43, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.6/unittest/mock.py\\\", line 939, in __call__\\n return _mock_self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.6/unittest/mock.py\\\", line 999, in _mock_call\\n raise effect\\n\\nException: Error message without traceback \\n but \\n multiline\\n\"}"} DEBUG util.py:445: GET: /v1/things {'name': 'foo', 'flag': True} DEBUG util.py:445: GOT:{'foo': True} DEBUG util.py:445: GET: /v1/things/response_content {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-282da9cb-e8d0-406a-b667-c76913144745 DEBUG util.py:445: "nothing" DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 401 Unauthorized DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Www-Authenticate: Basic realm="Baremetal API" DEBUG util.py:445: {"error":{"message":"Authorization required","code":401}} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'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.78'}} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'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.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} DEBUG util.py:445: DELETE: /v1/ DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ffd7f865-34af-4d91-84f2-040d4f051cef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The server could not comply with the request since it is either malformed or otherwise incorrect.\", \"debuginfo\": null}"} DEBUG util.py:445: func1() migrated 10 of 15 objects. DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. DEBUG util.py:445: Data migrations have not completed. Please re-run. DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [1], 11: [4], 12: [7]} DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [1, 2], 11: [4], 12: [7]} DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [1, 2], 11: [4], 12: [7]} DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [], 11: [4], 12: [7]} DEBUG util.py:445: [NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:44Z,event='three',event_type='UNKNOWN',id=3,node_id=10,severity='INFO',updated_at=None,user=None,uuid=24fe18f6-47b2-4730-9dae-a2e4f6dc0a2a), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:44Z,event='two',event_type='UNKNOWN',id=5,node_id=11,severity='INFO',updated_at=None,user=None,uuid=b32a568e-c0b1-4d03-b0c1-bd6497bea634), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:44Z,event='three',event_type='UNKNOWN',id=6,node_id=11,severity='INFO',updated_at=None,user=None,uuid=eb6c3d48-0d4b-41b9-b1e4-45798949034b), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:44Z,event='two',event_type='UNKNOWN',id=8,node_id=12,severity='INFO',updated_at=None,user=None,uuid=9a26bfb3-5ee3-439d-b3cd-72efa5f63a72), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:44Z,event='three',event_type='UNKNOWN',id=9,node_id=12,severity='INFO',updated_at=None,user=None,uuid=c4d0a523-1259-403b-b913-d3e2f4a594c3), NodeHistory(conductor='fake-mini',created_at=2024-03-18T10:52:44Z,event='final',event_type='UNKNOWN',id=10,node_id=10,severity='INFO',updated_at=None,user=None,uuid=b89ebe58-c278-4f69-95c1-3ce4973703cf)] DEBUG util.py:445: returning final set DEBUG util.py:445: {} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.431475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.035335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.051592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.029203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.023226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.015649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.027574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.035228s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.051361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.032553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.044657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.060503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.046281s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.044628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.056153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.060536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.040647s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.054595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.043050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.042364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.045020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.051362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.026350s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.025725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.034623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.028576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.023373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.038022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.022933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.024636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.022290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.025579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.024620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.033980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.035003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.023518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.037191s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.026978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.024670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.034015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__exec_stop_console [0.041924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.044675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.028499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.046741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.032831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.039338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.027486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.031928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.042957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.039919s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_with_fallback [0.043859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.065820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_bios [0.044625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.230012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.039641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.062120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.049249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.065440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.052986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.031586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.031173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.031347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.029745s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.014095s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details DEBUG util.py:443: FutureWarning) DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.018168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.019704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.069459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.036409s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.028536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.034365s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.030716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_uefi [0.047593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.051818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.067463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.034782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.034890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.037449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.029638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.034795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.038629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.044967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.039801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.041598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.019485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.016961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.017966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.021931s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.018243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.037094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.018398s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.030883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.017796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.019580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.024208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.019108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.017460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.025417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.017798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.019390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.019659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.018545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.018008s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.020856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.017507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.028860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.018625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.048521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.045966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.044801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.044855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.041136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.018339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.033331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.016106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.015852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.017061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.016102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.015475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.015599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.039198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.017225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.015391s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.023322s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.016513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.020140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.017876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.019632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.016614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.017702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.017637s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.039746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.035320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.046704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.034096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.033198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.034410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.014856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.028564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.017289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.018216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.014515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.030342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.014201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.014190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.012975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.017643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.021346s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.018690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.015499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.014619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.013723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.015937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.024291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.014346s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.038649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.031831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.031861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.029792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.017648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.030212s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.031120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.030836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.029862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.045511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.042702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.030621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.039315s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.035844s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.018152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.017922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.017514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.035079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.021303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.020928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.019038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.025892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.017194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.017195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.036691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.024413s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.032812s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.020036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.021243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.019826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.017886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.017837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.018100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.025953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.019733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.175406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.029719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.016270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.017286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.016184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.016913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.028815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.026009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.013703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.013777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.013002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.012974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.012915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.015829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.015559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.015803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.016158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.015848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.017702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.016498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.016058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.016211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.017152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.016692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.023918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.017005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.015970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.020044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.016226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.017608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.017305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.017824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.017055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.016506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.016611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.016683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.016815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.030442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.022332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.016749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.016357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.017073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.017263s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.016408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.016326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.013360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.013072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.032078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.013987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.013864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.017485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.014662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.013449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.019327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.014156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.015173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.019050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.015901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.014235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.013543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.022020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.013562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.014203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.016479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.014334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.013955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.047123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.018391s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.019939s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.015628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.015144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.018988s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.015916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.022053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.017234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.018255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.018416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.019335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.018986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.017787s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.017521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.019906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.018980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.016286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.030843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.022011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.017518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.018097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.018815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.017221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.019389s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.019305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.018646s] ... ok DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e082d4c0-5ed0-44e2-8de6-c43e6d8ba13b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-03-18T10:52:12.786763+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"}]]} DEBUG util.py:445: API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c303d88f-6018-4b12-adc1-0e13f4a3ef89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c303d88f-6018-4b12-adc1-0e13f4a3ef89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30fe8ea4-1473-4004-bd12-e501ac6f584d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "0a341980-62c0-4435-8221-9384759d0958", "created_at": "2024-03-18T10:52:13.133784+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0a341980-62c0-4435-8221-9384759d0958", "rel": "self"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30fe8ea4-1473-4004-bd12-e501ac6f584d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "0a341980-62c0-4435-8221-9384759d0958", "created_at": "2024-03-18T10:52:13.133784+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0a341980-62c0-4435-8221-9384759d0958", "rel": "self"}]}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f9cf728-9822-4989-8847-d1b4710eccf2 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0a6add4-bc9d-42dc-880d-05b37d6c51b7 DEBUG util.py:445: {"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}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cea36118-54b3-42f7-ad8e-15cf0b1d824d DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a9c1054-fdc9-4bcb-b92c-c1d588886ea4 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-959db3a6-4bba-48c5-8b59-2eedd064438b DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/things {'name': 'foo', 'flag': 'truish'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f5f6d5d-06fb-4068-8976-d8145eaf94a8 DEBUG util.py:445: {"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}"} DEBUG util.py:445: POST: /v1/things/ {'three': 'three', 'four': 'fourrrr', 'five': 'five'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52a41413-e366-41d5-83ef-20282a7b93f8 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/foo {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: Malformed option m1key1=value1 DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. DEBUG util.py:445: ====== DEBUG util.py:445: Totals DEBUG util.py:445: ====== DEBUG util.py:445: Ran: 8687 tests in 257.5916 sec. DEBUG util.py:445: - Passed: 8642 DEBUG util.py:445: - Skipped: 45 DEBUG util.py:445: - Expected Fail: 0 DEBUG util.py:445: - Unexpected Success: 0 DEBUG util.py:445: - Failed: 0 DEBUG util.py:445: Sum of execute time for each test: 882.6781 sec. DEBUG util.py:445: ============== DEBUG util.py:445: Worker Balance DEBUG util.py:445: ============== DEBUG util.py:445: - Worker 0 (2172 tests) => 0:03:13.537160 DEBUG util.py:445: - Worker 1 (2172 tests) => 0:04:08.926937 DEBUG util.py:445: - Worker 2 (2172 tests) => 0:04:17.591591 DEBUG util.py:445: - Worker 3 (2171 tests) => 0:03:06.631564 DEBUG util.py:445: Processing files: openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: + exit 0 DEBUG util.py:445: Provides: openstack-ironic = 1:20.1.4-0.20240318104900.ee848a8.el8 DEBUG util.py:445: Requires(interp): /bin/sh /bin/sh /bin/sh DEBUG util.py:445: Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 DEBUG util.py:445: Requires(post): /bin/sh DEBUG util.py:445: Requires(preun): /bin/sh DEBUG util.py:445: Requires(postun): /bin/sh DEBUG util.py:445: Requires: /usr/libexec/platform-python DEBUG util.py:445: Processing files: openstack-ironic-common-20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:443: warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/lib/python3.6/site-packages/ironic_tests.egg_info DEBUG util.py:445: Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.65ypPq DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-20.1.4.dev4 DEBUG util.py:445: + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + export LC_ALL=C DEBUG util.py:445: + LC_ALL=C DEBUG util.py:445: + export DOCDIR DEBUG util.py:445: + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + cp -pr etc/ironic/policy.yaml.sample /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + exit 0 DEBUG util.py:445: Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.dthv4K DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-20.1.4.dev4 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/licenses/openstack-ironic-common DEBUG util.py:445: + export LC_ALL=C DEBUG util.py:445: + LC_ALL=C DEBUG util.py:445: + export LICENSEDIR DEBUG util.py:445: + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/licenses/openstack-ironic-common DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/licenses/openstack-ironic-common DEBUG util.py:445: + exit 0 DEBUG util.py:445: Provides: config(openstack-ironic-common) = 1:20.1.4-0.20240318104900.ee848a8.el8 openstack-ironic-common = 1:20.1.4-0.20240318104900.ee848a8.el8 python3.6dist(ironic) = 20.1.4.dev4 python3dist(ironic) = 20.1.4.dev4 DEBUG util.py:445: Requires(interp): /bin/sh DEBUG util.py:445: 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 DEBUG util.py:445: Requires(pre): /bin/sh shadow-utils DEBUG util.py:445: Requires: /bin/sh /usr/libexec/platform-python python(abi) = 3.6 DEBUG util.py:445: Recommends: ipmitool python3-dracclient >= 5.1.0 python3-proliantutils >= 2.10.0 python3-pysnmp >= 4.3.0 python3-scciclient >= 0.8.0 DEBUG util.py:445: Suggests: python3-oslo-i18n >= 3.15.3 python3-oslo-reports >= 1.18.0 DEBUG util.py:445: Processing files: openstack-ironic-api-20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: Provides: openstack-ironic-api = 1:20.1.4-0.20240318104900.ee848a8.el8 DEBUG util.py:445: Requires(interp): /bin/sh /bin/sh /bin/sh DEBUG util.py:445: Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 DEBUG util.py:445: Requires(post): /bin/sh DEBUG util.py:445: Requires(preun): /bin/sh DEBUG util.py:445: Requires(postun): /bin/sh DEBUG util.py:445: Requires: /usr/libexec/platform-python DEBUG util.py:445: Processing files: openstack-ironic-conductor-20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: Provides: openstack-ironic-conductor = 1:20.1.4-0.20240318104900.ee848a8.el8 DEBUG util.py:445: Requires(interp): /bin/sh /bin/sh /bin/sh DEBUG util.py:445: Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 DEBUG util.py:445: Requires(post): /bin/sh DEBUG util.py:445: Requires(preun): /bin/sh DEBUG util.py:445: Requires(postun): /bin/sh DEBUG util.py:445: Requires: /usr/libexec/platform-python DEBUG util.py:445: Processing files: openstack-ironic-dnsmasq-tftp-server-20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.VtpeOK DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-20.1.4.dev4 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server DEBUG util.py:445: + export LC_ALL=C DEBUG util.py:445: + LC_ALL=C DEBUG util.py:445: + export LICENSEDIR DEBUG util.py:445: + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server DEBUG util.py:445: + exit 0 DEBUG util.py:445: Provides: config(openstack-ironic-dnsmasq-tftp-server) = 1:20.1.4-0.20240318104900.ee848a8.el8 openstack-ironic-dnsmasq-tftp-server = 1:20.1.4-0.20240318104900.ee848a8.el8 DEBUG util.py:445: Requires(interp): /bin/sh /bin/sh /bin/sh DEBUG util.py:445: Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 DEBUG util.py:445: Requires(post): /bin/sh DEBUG util.py:445: Requires(preun): /bin/sh DEBUG util.py:445: Requires(postun): /bin/sh DEBUG util.py:445: Processing files: python3-ironic-tests-20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: Provides: python3-ironic-tests = 1:20.1.4-0.20240318104900.ee848a8.el8 DEBUG util.py:445: 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 DEBUG util.py:445: Requires: python(abi) = 3.6 DEBUG util.py:445: Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64 DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-common-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-api-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-conductor-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-dnsmasq-tftp-server-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/python3-ironic-tests-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm DEBUG util.py:445: Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.hnuTqN DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-20.1.4.dev4 DEBUG util.py:445: + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.x86_64 DEBUG util.py:445: + exit 0 DEBUG util.py:596: Child return code was: 0 DEBUG backend.py:803: Copying packages to result dir DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['btrfs', 'subv', 'list', '/var/lib/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/results INFO buildroot.py:175: calling preinit hooks DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root_cache/ DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/yum_cache DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/dnf_cache DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/lscpu'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: Architecture: x86_64 DEBUG util.py:445: CPU op-mode(s): 32-bit, 64-bit DEBUG util.py:445: Byte Order: Little Endian DEBUG util.py:445: CPU(s): 4 DEBUG util.py:445: On-line CPU(s) list: 0-3 DEBUG util.py:445: Thread(s) per core: 1 DEBUG util.py:445: Core(s) per socket: 1 DEBUG util.py:445: Socket(s): 4 DEBUG util.py:445: NUMA node(s): 1 DEBUG util.py:445: Vendor ID: AuthenticAMD DEBUG util.py:445: CPU family: 23 DEBUG util.py:445: Model: 49 DEBUG util.py:445: Model name: AMD EPYC-Rome Processor DEBUG util.py:445: Stepping: 0 DEBUG util.py:445: CPU MHz: 2799.998 DEBUG util.py:445: BogoMIPS: 5599.99 DEBUG util.py:445: Virtualization: AMD-V DEBUG util.py:445: Hypervisor vendor: KVM DEBUG util.py:445: Virtualization type: full DEBUG util.py:445: L1d cache: 32K DEBUG util.py:445: L1i cache: 32K DEBUG util.py:445: L2 cache: 512K DEBUG util.py:445: L3 cache: 16384K DEBUG util.py:445: NUMA node0 CPU(s): 0-3 DEBUG util.py:445: Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/free'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: total used free shared buff/cache available DEBUG util.py:445: Mem: 16139344 4993808 2731036 4314692 8414500 6292204 DEBUG util.py:445: Swap: 16777212 3666984 13110228 DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/df', '-H', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '/var/cache/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: Filesystem Size Used Avail Use% Mounted on DEBUG util.py:445: mock_chroot_tmpfs 4.3G 584M 3.8G 14% /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root DEBUG util.py:445: /dev/vda1 550G 331G 219G 61% / DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:550: create skeleton dirs DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/dbus DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/dnf/vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/yum.repos.d DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/yum.repos.d DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/run/lock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/log/yum.log DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root DEBUG buildroot.py:199: resultdir = /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/results DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/usr/share DEBUG package_manager.py:293: Copying /usr/share/distribution-gpg-keys to the bootstrap chroot DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['cp', '-a', '/usr/share/distribution-gpg-keys', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/usr/share'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/etc DEBUG buildroot.py:33: method _fixup_build_user skipped in bootstrap DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/.initialized DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['mount', '-n', '-t', 'tmpfs', '-o', 'mode=0755', '-o', 'nr_inodes=0', '-o', 'size=4g', 'mock_chroot_tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 INFO buildroot.py:175: calling preinit hooks DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-yoga-x86_64-5/root_cache/ DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/tar', '--use-compress-program', 'pigz', '-xf', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/root_cache/cache.tar.gz', '-C', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./proc DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./sys DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./dev DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./dev DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./tmp/ccache DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./var/cache/yum DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./var/cache/dnf DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./var/log DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/./var/log DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-yoga-x86_64-5/yum_cache DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-yoga-x86_64-5/dnf_cache DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/lscpu'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: Architecture: x86_64 DEBUG util.py:445: CPU op-mode(s): 32-bit, 64-bit DEBUG util.py:445: Byte Order: Little Endian DEBUG util.py:445: CPU(s): 4 DEBUG util.py:445: On-line CPU(s) list: 0-3 DEBUG util.py:445: Thread(s) per core: 1 DEBUG util.py:445: Core(s) per socket: 1 DEBUG util.py:445: Socket(s): 4 DEBUG util.py:445: NUMA node(s): 1 DEBUG util.py:445: Vendor ID: AuthenticAMD DEBUG util.py:445: CPU family: 23 DEBUG util.py:445: Model: 49 DEBUG util.py:445: Model name: AMD EPYC-Rome Processor DEBUG util.py:445: Stepping: 0 DEBUG util.py:445: CPU MHz: 2799.998 DEBUG util.py:445: BogoMIPS: 5599.99 DEBUG util.py:445: Virtualization: AMD-V DEBUG util.py:445: Hypervisor vendor: KVM DEBUG util.py:445: Virtualization type: full DEBUG util.py:445: L1d cache: 32K DEBUG util.py:445: L1i cache: 32K DEBUG util.py:445: L2 cache: 512K DEBUG util.py:445: L3 cache: 16384K DEBUG util.py:445: NUMA node0 CPU(s): 0-3 DEBUG util.py:445: Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/free'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: total used free shared buff/cache available DEBUG util.py:445: Mem: 16139344 4994976 1256732 5305000 9887636 5300532 DEBUG util.py:445: Swap: 16777212 3666984 13110228 DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/df', '-H', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '/var/cache/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: Filesystem Size Used Avail Use% Mounted on DEBUG util.py:445: mock_chroot_tmpfs 4.3G 1.1G 3.3G 24% /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:445: /dev/vda1 550G 331G 219G 61% / DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:550: create skeleton dirs DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/lib/dbus DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf/vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum.repos.d DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum.repos.d DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/run/lock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/var/cache/mock/dlrn-centos8-yoga-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/tmp/mock-selinux-plugin.e8snimfy', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'private', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,private,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/etc/dnf DEBUG package_manager.py:589: configure DNF vars DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args None DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'd00ce3f5ce46463687335092c455db36', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root', '-a', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '/usr/sbin/usermod', '-u', '1030', 'mockbuild'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:443: usermod: no changes DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/.initialized INFO backend.py:812: Installing built packages DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,private,bind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:906: installing package(s): /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/python3-ironic-tests-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-dnsmasq-tftp-server-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-conductor-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-api-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-common-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm /home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'rprivate', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/proc', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,nodev,noexec,nosuid,readonly,rprivate,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', '-o', 'rprivate', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'rbind', '/sys', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'remount,nodev,noexec,nosuid,readonly,rprivate,rbind', '--target', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'devpts', '-o', 'gid=5,mode=0620,ptmxmode=0666,newinstance', 'devpts', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-t', 'tmpfs', 'tmpfs', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/', '--releasever', '8', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'install', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/python3-ironic-tests-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-dnsmasq-tftp-server-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-conductor-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-api-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-common-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm'] DEBUG util.py:622: child environment: None DEBUG util.py:535: Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.sx535p18:/etc/resolv.conf'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '7f287b1dad11422ca408b5d44143bd3b', '-D', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.sx535p18:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--setenv=LC_MESSAGES=C.UTF-8', '--resolv-conf=off', '/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/', '--releasever', '8', '--setopt=deltarpm=False', '--allowerasing', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', '--disableplugin=local', '--disableplugin=spacewalk', '--disableplugin=versionlock', 'install', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/python3-ironic-tests-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-dnsmasq-tftp-server-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-conductor-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-api-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-common-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793/openstack-ironic-20.1.4-0.20240318104900.ee848a8.el8.noarch.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/installation-homedir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'LC_MESSAGES': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:445: delorean-openstack-ironic-8159c3cf94ec55fe006e2 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-38f84a4efbb513235191e 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-octaviaclient-6502d66bb213d0e0a 28 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-d8aefdd736bc95d11 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-diskimage-builder-2ba78f79a11633efde29 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-bf8b69960599cf9af02ce11 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-76339c30770fbf4f67f66 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-84111ad7cb4496d108370 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-neutron-vpnaas-a511fa10c988b 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-8f1b0b92a78c86c6b90c 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-59d6b2818e6d482f3ee 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-2a73f12a4500eabcd0dcde 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-1580f6f8437bd07e008c 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-os-apply-config-14dfe905bd4e2724ddc58c 36 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-sahara-ui-607492d660b99cf118 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-validations-common-f273ccbb963e31056bd 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS-Stream - Base 21 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - AppStream 30 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS-Stream - Extras 2.3 kB/s | 2.9 kB 00:01 DEBUG util.py:445: CentOS-Stream - PowerTools 20 kB/s | 4.4 kB 00:00 DEBUG util.py:445: dlrn-yoga-testing 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-yoga-build-deps 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Advanced Virtualization mirror 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Messaging RabbitMQ 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: opstools 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Dependencies resolved. DEBUG util.py:445: ========================================================================================================================= DEBUG util.py:445: Package Arch Version Repository Size DEBUG util.py:445: ========================================================================================================================= DEBUG util.py:445: Installing: DEBUG util.py:445: openstack-ironic noarch 1:20.1.4-0.20240318104900.ee848a8.el8 @commandline 7.9 k DEBUG util.py:445: openstack-ironic-api noarch 1:20.1.4-0.20240318104900.ee848a8.el8 @commandline 8.7 k DEBUG util.py:445: openstack-ironic-common noarch 1:20.1.4-0.20240318104900.ee848a8.el8 @commandline 1.4 M DEBUG util.py:445: openstack-ironic-conductor noarch 1:20.1.4-0.20240318104900.ee848a8.el8 @commandline 7.9 k DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server noarch 1:20.1.4-0.20240318104900.ee848a8.el8 @commandline 12 k DEBUG util.py:445: python3-ironic-tests noarch 1:20.1.4-0.20240318104900.ee848a8.el8 @commandline 1.4 M DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: dnsmasq x86_64 2.79-32.el8 Stream-AppStream 323 k DEBUG util.py:445: libsodium x86_64 1.0.18-2.el8 delorean-yoga-testing 163 k DEBUG util.py:445: libxslt x86_64 1.1.32-6.el8 Stream-BaseOS 250 k DEBUG util.py:445: libyaml x86_64 0.1.7-5.el8 Stream-BaseOS 61 k DEBUG util.py:445: python-oslo-cache-lang noarch 2.10.1-0.20220314140354.d75020b.el8 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 4.5.0-0.20220311165052.a9ccf0a.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-db-lang noarch 11.2.0-0.20220314165526.22c602f.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-i18n-lang noarch 5.1.0-0.20220307124733.b031d17.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 4.7.0-0.20220324144856.de03a59.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-middleware-lang noarch 4.5.1-0.20220314160906.2f72b30.el8 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 3.11.0-0.20220314171849.b48b711.el8 delorean-component-common 11 k DEBUG util.py:445: python-oslo-privsep-lang noarch 2.7.0-0.20220314191741.2b26dea.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-utils-lang noarch 4.12.4-0.20240126084419.92d0c17.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 2.6.0-0.20220314182459.25d34d6.el8 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20220311163944.4179996.el8 delorean-component-common 14 k DEBUG util.py:445: python3-PyMySQL noarch 0.10.1-2.module_el8+762+77bd8591 Stream-AppStream 110 k DEBUG util.py:445: python3-alembic noarch 1.7.1-3.el8 delorean-yoga-testing 1.1 M DEBUG util.py:445: python3-amqp noarch 5.0.9-1.el8 delorean-yoga-testing 99 k DEBUG util.py:445: python3-appdirs noarch 1.4.3-12.el8 delorean-yoga-testing 23 k DEBUG util.py:445: python3-attrs noarch 17.4.0-6.el8 Stream-AppStream 53 k DEBUG util.py:445: python3-automaton noarch 2.5.0-0.20220314171459.aaca110.el8 delorean-component-common 41 k DEBUG util.py:445: python3-autopage noarch 0.4.0-1.el8 delorean-yoga-testing 38 k DEBUG util.py:445: python3-bcrypt x86_64 3.1.7-3.el8 delorean-yoga-testing 44 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.9.3-1.el8 delorean-yoga-testing 215 k DEBUG util.py:445: python3-cachetools noarch 4.2.0-1.el8 delorean-yoga-testing 35 k DEBUG util.py:445: python3-cffi x86_64 1.13.2-1.el8 delorean-yoga-testing 245 k DEBUG util.py:445: python3-cinderclient noarch 8.3.0-0.20220314194227.ee59b68.el8 delorean-component-clients 229 k DEBUG util.py:445: python3-cliff noarch 3.10.1-0.20220314185955.a04a48f.el8 delorean-component-common 95 k DEBUG util.py:445: python3-cmd2 noarch 1.4.0-1.1.el8 delorean-yoga-testing 307 k DEBUG util.py:445: python3-colorama noarch 0.4.3-3.el8 delorean-yoga-testing 36 k DEBUG util.py:445: python3-cryptography x86_64 3.2.1-7.el8 Stream-BaseOS 641 k DEBUG util.py:445: python3-dateutil noarch 1:2.6.1-6.el8 Stream-BaseOS 251 k DEBUG util.py:445: python3-debtcollector noarch 2.5.0-0.20220317120440.a6b46c5.el8 delorean-component-common 31 k DEBUG util.py:445: python3-decorator noarch 4.4.0-5.el8 delorean-yoga-testing 32 k DEBUG util.py:445: python3-defusedxml noarch 0.7.1-1.el8 delorean-yoga-testing 54 k DEBUG util.py:445: python3-dogpile-cache noarch 1.1.5-1.1.el8 delorean-yoga-testing 91 k DEBUG util.py:445: python3-etcd3gw noarch 0.2.5-1.el8 delorean-yoga-testing 41 k DEBUG util.py:445: python3-extras noarch 1.0.0-10.el8 delorean-yoga-testing 21 k DEBUG util.py:445: python3-fasteners noarch 0.14.1-20.el8 delorean-yoga-testing 44 k DEBUG util.py:445: python3-fixtures noarch 3.0.0-27.el8 delorean-yoga-testing 98 k DEBUG util.py:445: python3-future noarch 0.18.2-3.el8 delorean-yoga-testing 789 k DEBUG util.py:445: python3-futurist noarch 2.4.0-0.20220311160357.d70c7e5.el8 delorean-component-common 63 k DEBUG util.py:445: python3-glanceclient noarch 1:3.6.0-0.20220314183717.626c500.el8 delorean-component-clients 151 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-2.el8 delorean-yoga-testing 22 k DEBUG util.py:445: python3-importlib-metadata noarch 1.7.0-1.el8 delorean-yoga-testing 46 k DEBUG util.py:445: python3-importlib-resources noarch 4.1.1-1.el8 delorean-yoga-testing 47 k DEBUG util.py:445: python3-inotify noarch 0.9.6-13.el8 Stream-BaseOS 57 k DEBUG util.py:445: python3-ironic-lib noarch 5.2.0-0.20220316145422.e205816.el8 delorean-component-baremetal 146 k DEBUG util.py:445: python3-iso8601 noarch 0.1.12-3.el8 delorean-yoga-testing 25 k DEBUG util.py:445: python3-jeepney noarch 0.4.3-1.el8 delorean-yoga-testing 4.7 M DEBUG util.py:445: python3-jmespath noarch 0.9.0-11.el8 Stream-AppStream 45 k DEBUG util.py:445: python3-jsonpatch noarch 1.21-2.el8 Stream-AppStream 27 k DEBUG util.py:445: python3-jsonpointer noarch 1.10-11.el8 Stream-AppStream 20 k DEBUG util.py:445: python3-jsonschema noarch 3.2.0-5.el8 delorean-yoga-testing 112 k DEBUG util.py:445: python3-kazoo noarch 2.8.0-1.el8 delorean-yoga-testing 164 k DEBUG util.py:445: python3-keyring noarch 21.0.0-1.el8 delorean-yoga-testing 80 k DEBUG util.py:445: python3-keystoneauth1 noarch 4.5.0-0.20240201061910.8da0a63.el8 delorean-component-security 431 k DEBUG util.py:445: python3-keystoneclient noarch 1:4.4.0-0.20220314190516.100253d.el8 delorean-component-clients 252 k DEBUG util.py:445: python3-keystonemiddleware noarch 9.4.0-0.20240201064833.8a05709.el8 delorean-component-security 92 k DEBUG util.py:445: python3-kombu noarch 1:5.0.2-1.el8 delorean-yoga-testing 338 k DEBUG util.py:445: python3-logutils noarch 0.3.5-11.el8 delorean-yoga-testing 49 k DEBUG util.py:445: python3-lxml x86_64 4.2.3-4.el8 Stream-AppStream 1.5 M DEBUG util.py:445: python3-mako noarch 1.0.6-14.el8 Stream-AppStream 157 k DEBUG util.py:445: python3-memcached noarch 1.59-1.el8 delorean-yoga-testing 44 k DEBUG util.py:445: python3-migrate noarch 0.13.0-1.el8 delorean-yoga-testing 238 k DEBUG util.py:445: python3-mock noarch 3.0.5-7.el8 delorean-yoga-testing 55 k DEBUG util.py:445: python3-msgpack x86_64 1.0.3-2.el8 delorean-yoga-testing 93 k DEBUG util.py:445: python3-munch noarch 2.5.0-3.el8 delorean-yoga-testing 26 k DEBUG util.py:445: python3-netaddr noarch 0.7.19-8.el8 Stream-AppStream 1.5 M DEBUG util.py:445: python3-netifaces x86_64 0.10.6-4.el8 Stream-AppStream 25 k DEBUG util.py:445: python3-openstacksdk noarch 0.62.0-0.20230411165545.4ceff8f.el8 delorean-component-clients 882 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20220307143627.0b2f473.el8 delorean-component-clients 36 k DEBUG util.py:445: python3-os-traits noarch 2.7.0-0.20220314182947.3d1dbf0.el8 delorean-component-common 46 k DEBUG util.py:445: python3-oslo-cache noarch 2.10.1-0.20220314140354.d75020b.el8 delorean-component-common 53 k DEBUG util.py:445: python3-oslo-concurrency noarch 4.5.0-0.20220311165052.a9ccf0a.el8 delorean-component-common 41 k DEBUG util.py:445: python3-oslo-config noarch 2:8.8.1-0.20231115112140.966c588.el8 delorean-component-common 227 k DEBUG util.py:445: python3-oslo-context noarch 4.1.0-0.20220314115038.3400cc2.el8 delorean-component-common 25 k DEBUG util.py:445: python3-oslo-db noarch 11.2.0-0.20220314165526.22c602f.el8 delorean-component-common 144 k DEBUG util.py:445: python3-oslo-i18n noarch 5.1.0-0.20220307124733.b031d17.el8 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-log noarch 4.7.0-0.20220324144856.de03a59.el8 delorean-component-common 62 k DEBUG util.py:445: python3-oslo-messaging noarch 12.13.3-0.20231124143847.047da4e.el8 delorean-component-common 233 k DEBUG util.py:445: python3-oslo-metrics noarch 0.4.0-0.20220314171631.b4eb8c3.el8 delorean-component-common 23 k DEBUG util.py:445: python3-oslo-middleware noarch 4.5.1-0.20220314160906.2f72b30.el8 delorean-component-common 57 k DEBUG util.py:445: python3-oslo-policy noarch 3.11.0-0.20220314171849.b48b711.el8 delorean-component-common 76 k DEBUG util.py:445: python3-oslo-privsep noarch 2.7.0-0.20220314191741.2b26dea.el8 delorean-component-common 41 k DEBUG util.py:445: python3-oslo-rootwrap noarch 6.3.1-0.20220314191346.1b1b960.el8 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-serialization noarch 4.3.0-0.20220311151409.6910f75.el8 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 2.8.0-0.20220314165315.6552b9a.el8 delorean-component-common 70 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 1.5.0-0.20220314174419.1559e03.el8 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-utils noarch 4.12.4-0.20240126084419.92d0c17.el8 delorean-component-common 80 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 2.6.0-0.20220314182459.25d34d6.el8 delorean-component-common 78 k DEBUG util.py:445: python3-oslotest noarch 4.5.0-0.20220310171510.d4b1896.el8 delorean-component-clients 47 k DEBUG util.py:445: python3-osprofiler noarch 3.4.2-0.20220307232434.e475de6.el8 delorean-component-common 132 k DEBUG util.py:445: python3-paste noarch 3.5.0-1.el8 delorean-yoga-testing 813 k DEBUG util.py:445: python3-paste-deploy noarch 2.1.1-1.el8 delorean-yoga-testing 40 k DEBUG util.py:445: python3-pecan noarch 1.3.3-2.el8 delorean-yoga-testing 283 k DEBUG util.py:445: python3-ply noarch 3.9-9.el8 Stream-BaseOS 111 k DEBUG util.py:445: python3-prettytable noarch 0.7.2-14.el8 Stream-AppStream 44 k DEBUG util.py:445: python3-prometheus_client noarch 0.7.1-2.el8 delorean-yoga-testing 82 k DEBUG util.py:445: python3-psutil x86_64 5.7.3-1.el8 delorean-yoga-testing 420 k DEBUG util.py:445: python3-pyOpenSSL noarch 19.0.0-1.el8 Stream-AppStream 103 k DEBUG util.py:445: python3-pyasn1 noarch 0.4.6-3.el8 delorean-yoga-testing 140 k DEBUG util.py:445: python3-pycadf noarch 3.1.1-0.20220311163944.4179996.el8 delorean-component-common 51 k DEBUG util.py:445: python3-pycdlib noarch 1.11.0-3.el8 delorean-yoga-testing 262 k DEBUG util.py:445: python3-pycparser noarch 2.14-14.el8 Stream-BaseOS 109 k DEBUG util.py:445: python3-pyghmi noarch 1.5.29-1.el8 Stream-AppStream 350 k DEBUG util.py:445: python3-pynacl x86_64 1.4.0-1.el8 delorean-yoga-testing 109 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-4.el8 delorean-yoga-testing 54 k DEBUG util.py:445: python3-pyperclip noarch 1.8.0-2.el8 delorean-yoga-testing 24 k DEBUG util.py:445: python3-pyrsistent x86_64 0.17.3-1.el8 delorean-yoga-testing 107 k DEBUG util.py:445: python3-pysnmp noarch 4.4.12-1.el8 delorean-yoga-testing 698 k DEBUG util.py:445: python3-pyyaml x86_64 5.4.1-2.el8 delorean-yoga-testing 208 k DEBUG util.py:445: python3-qpid-proton x86_64 0.35.0-3.el8s centos-opstools 396 k DEBUG util.py:445: python3-redis noarch 3.5.3-1.el8 delorean-yoga-testing 142 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-6.el8 delorean-yoga-testing 33 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20220307123924.d7ac0ff.el8 delorean-component-common 15 k DEBUG util.py:445: python3-retrying noarch 1.3.3-1.el8 delorean-yoga-testing 23 k DEBUG util.py:445: python3-rfc3986 noarch 1.4.0-3.el8 delorean-yoga-testing 52 k DEBUG util.py:445: python3-routes noarch 2.4.1-12.el8 delorean-yoga-testing 196 k DEBUG util.py:445: python3-secretstorage noarch 3.1.1-4.el8 delorean-yoga-testing 36 k DEBUG util.py:445: python3-simplejson x86_64 3.17.6-2.el8 delorean-yoga-testing 282 k DEBUG util.py:445: python3-smi noarch 0.3.4-6.el8 delorean-yoga-testing 136 k DEBUG util.py:445: python3-soupsieve noarch 2.3.1-2.el8 delorean-yoga-testing 75 k DEBUG util.py:445: python3-sqlparse noarch 0.3.1-3.el8 delorean-yoga-testing 88 k DEBUG util.py:445: python3-statsd noarch 3.2.1-16.el8 delorean-yoga-testing 35 k DEBUG util.py:445: python3-stestr noarch 3.2.0-3.el8 delorean-yoga-testing 177 k DEBUG util.py:445: python3-stevedore noarch 3.5.2-0.20221024072403.6c9978a.el8 delorean-component-clients 69 k DEBUG util.py:445: python3-subunit noarch 1.4.0-1.el8 delorean-yoga-testing 97 k DEBUG util.py:445: python3-sushy noarch 4.1.7-0.20240202135909.fdbcb17.el8 delorean-component-baremetal 194 k DEBUG util.py:445: python3-swiftclient noarch 3.13.1-0.20220314193840.4989d94.el8 delorean-component-clients 175 k DEBUG util.py:445: python3-tempita noarch 0.5.1-25.el8 delorean-yoga-testing 39 k DEBUG util.py:445: python3-tenacity noarch 6.3.1-1.el8 delorean-yoga-testing 51 k DEBUG util.py:445: python3-testresources noarch 2.0.1-1.el8 delorean-yoga-testing 62 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-17.el8 delorean-yoga-testing 40 k DEBUG util.py:445: python3-testtools noarch 2.5.0-3.el8 delorean-yoga-testing 353 k DEBUG util.py:445: python3-tooz noarch 2.10.1-0.20220314164958.e88e601.el8 delorean-component-common 109 k DEBUG util.py:445: python3-vine noarch 5.0.0-2.el8 delorean-yoga-testing 26 k DEBUG util.py:445: python3-voluptuous noarch 0.12.1-1.el8 delorean-yoga-testing 62 k DEBUG util.py:445: python3-waitress noarch 1.4.2-1.el8 delorean-yoga-testing 255 k DEBUG util.py:445: python3-warlock noarch 1.3.3-1.el8 delorean-yoga-testing 22 k DEBUG util.py:445: python3-wcwidth noarch 0.2.5-2.el8 delorean-yoga-testing 47 k DEBUG util.py:445: python3-webencodings noarch 0.5.1-6.el8 Stream-AppStream 27 k DEBUG util.py:445: python3-webob noarch 1.8.6-3.el8 delorean-yoga-testing 253 k DEBUG util.py:445: python3-webtest noarch 2.0.35-3.el8 delorean-yoga-testing 87 k DEBUG util.py:445: python3-wrapt x86_64 1.13.3-2.el8 delorean-yoga-testing 57 k DEBUG util.py:445: python3-yappi x86_64 1.3.0-1.el8 delorean-yoga-testing 54 k DEBUG util.py:445: python3-zake noarch 0.2.2-18.el8 delorean-yoga-testing 46 k DEBUG util.py:445: python3-zeroconf noarch 0.24.4-1.el8 delorean-yoga-testing 93 k DEBUG util.py:445: python3-zipp noarch 3.4.0-1.el8 delorean-yoga-testing 16 k DEBUG util.py:445: qpid-proton-c x86_64 0.35.0-3.el8s centos-opstools 218 k DEBUG util.py:445: Installing weak dependencies: DEBUG util.py:445: ipmitool x86_64 1.8.18-19.el8 Stream-AppStream 395 k DEBUG util.py:445: python3-cssselect noarch 0.9.2-13.el8 delorean-yoga-testing 40 k DEBUG util.py:445: python3-dracclient noarch 8.0.1-0.20220413232915.eee5037.el8 delorean-component-baremetal 187 k DEBUG util.py:445: python3-html5lib noarch 1:0.999999999-6.el8 Stream-AppStream 214 k DEBUG util.py:445: python3-proliantutils noarch 2.12.2-0.20220316122454.500f518.el8 delorean-component-baremetal 293 k DEBUG util.py:445: python3-scciclient noarch 0.12.3-0.20220729095350.0940a71.el8 delorean-component-baremetal 124 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ========================================================================================================================= DEBUG util.py:445: Install 162 Packages DEBUG util.py:445: Total size: 31 M DEBUG util.py:445: Installed size: 118 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-dracclient-8.0.1-0.20220413232915.eee5037.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ironic-lib-5.2.0-0.20220316145422.e205816.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-proliantutils-2.12.2-0.20220316122454.500f518.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-scciclient-0.12.3-0.20220729095350.0940a71.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sushy-4.1.7-0.20240202135909.fdbcb17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cinderclient-8.3.0-0.20220314194227.ee59b68.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-3.6.0-0.20220314183717.626c500.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-4.4.0-0.20220314190516.100253d.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-openstacksdk-0.62.0-0.20230411165545.4ceff8f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20220307143627.0b2f473.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslotest-4.5.0-0.20220310171510.d4b1896.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-3.5.2-0.20221024072403.6c9978a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-swiftclient-3.13.1-0.20220314193840.4989d94.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-cache-lang-2.10.1-0.20220314140354.d75020b.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-4.5.0-0.20220311165052.a9ccf0a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-db-lang-11.2.0-0.20220314165526.22c602f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-5.1.0-0.20220307124733.b031d17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-4.7.0-0.20220324144856.de03a59.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-middleware-lang-4.5.1-0.20220314160906.2f72b30.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-policy-lang-3.11.0-0.20220314171849.b48b711.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-privsep-lang-2.7.0-0.20220314191741.2b26dea.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-4.12.4-0.20240126084419.92d0c17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-versionedobjects-lang-2.6.0-0.20220314182459.25d34d6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-pycadf-common-3.1.1-0.20220311163944.4179996.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-automaton-2.5.0-0.20220314171459.aaca110.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-3.10.1-0.20220314185955.a04a48f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-2.5.0-0.20220317120440.a6b46c5.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-futurist-2.4.0-0.20220311160357.d70c7e5.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-traits-2.7.0-0.20220314182947.3d1dbf0.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache-2.10.1-0.20220314140354.d75020b.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-4.5.0-0.20220311165052.a9ccf0a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-8.8.1-0.20231115112140.966c588.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-4.1.0-0.20220314115038.3400cc2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-11.2.0-0.20220314165526.22c602f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-5.1.0-0.20220307124733.b031d17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-4.7.0-0.20220324144856.de03a59.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging-12.13.3-0.20231124143847.047da4e.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-metrics-0.4.0-0.20220314171631.b4eb8c3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-middleware-4.5.1-0.20220314160906.2f72b30.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-policy-3.11.0-0.20220314171849.b48b711.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-privsep-2.7.0-0.20220314191741.2b26dea.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1b960.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-4.3.0-0.20220311151409.6910f75.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-service-2.8.0-0.20220314165315.6552b9a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-upgradecheck-1.5.0-0.20220314174419.1559e03.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-4.12.4-0.20240126084419.92d0c17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-versionedobjects-2.6.0-0.20220314182459.25d34d6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osprofiler-3.4.2-0.20220307232434.e475de6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycadf-3.1.1-0.20220311163944.4179996.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20220307123924.d7ac0ff.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz-2.10.1-0.20220314164958.e88e601.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-4.5.0-0.20240201061910.8da0a63.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystonemiddleware-9.4.0-0.20240201064833.8a05709.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libxslt-1.1.32-6.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libyaml-0.1.7-5.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cryptography-3.2.1-7.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dateutil-2.6.1-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-inotify-0.9.6-13.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ply-3.9-9.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycparser-2.14-14.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] dnsmasq-2.79-32.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] ipmitool-1.8.18-19.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-attrs-17.4.0-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-html5lib-0.999999999-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jmespath-0.9.0-11.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonpatch-1.21-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonpointer-1.10-11.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-lxml-4.2.3-4.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-mako-1.0.6-14.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-netaddr-0.7.19-8.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-netifaces-0.10.6-4.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prettytable-0.7.2-14.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyOpenSSL-19.0.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyghmi-1.5.29-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webencodings-0.5.1-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libsodium-1.0.18-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-alembic-1.7.1-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-amqp-5.0.9-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-appdirs-1.4.3-12.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-autopage-0.4.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-bcrypt-3.1.7-3.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-beautifulsoup4-4.9.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cachetools-4.2.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cffi-1.13.2-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cmd2-1.4.0-1.1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-colorama-0.4.3-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cssselect-0.9.2-13.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-decorator-4.4.0-5.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-defusedxml-0.7.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-dogpile-cache-1.1.5-1.1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-etcd3gw-0.2.5-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-extras-1.0.0-10.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fasteners-0.14.1-20.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fixtures-3.0.0-27.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-future-0.18.2-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ifaddr-0.1.7-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-importlib-metadata-1.7.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-importlib-resources-4.1.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-iso8601-0.1.12-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jeepney-0.4.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jsonschema-3.2.0-5.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kazoo-2.8.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keyring-21.0.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-kombu-5.0.2-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-logutils-0.3.5-11.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-memcached-1.59-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-migrate-0.13.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-mock-3.0.5-7.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-msgpack-1.0.3-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-munch-2.5.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-3.5.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-paste-deploy-2.1.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pecan-1.3.3-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-prometheus_client-0.7.1-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-psutil-5.7.3-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyasn1-0.4.6-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycdlib-1.11.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pynacl-1.4.0-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyngus-2.3.0-4.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyperclip-1.8.0-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyrsistent-0.17.3-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pysnmp-4.4.12-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pyyaml-5.4.1-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-redis-3.5.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-repoze-lru-0.7-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-retrying-1.3.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-rfc3986-1.4.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-routes-2.4.1-12.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-secretstorage-3.1.1-4.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-simplejson-3.17.6-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-smi-0.3.4-6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-soupsieve-2.3.1-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sqlparse-0.3.1-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-statsd-3.2.1-16.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stestr-3.2.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-subunit-1.4.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tempita-0.5.1-25.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tenacity-6.3.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testresources-2.0.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testscenarios-0.5.0-17.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-testtools-2.5.0-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-vine-5.0.0-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-voluptuous-0.12.1-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-waitress-1.4.2-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-warlock-1.3.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wcwidth-0.2.5-2.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webob-1.8.6-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-webtest-2.0.35-3.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wrapt-1.13.3-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-yappi-1.3.0-1.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zake-0.2.2-18.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zeroconf-0.24.4-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-zipp-3.4.0-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-qpid-proton-0.35.0-3.el8s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] qpid-proton-c-0.35.0-3.el8s.x86_64.rpm: Already downloaded DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : python3-webob-1.8.6-3.el8.noarch 1/162 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-14.el8.noarch 2/162 DEBUG util.py:445: Installing : python3-iso8601-0.1.12-3.el8.noarch 3/162 DEBUG util.py:445: Installing : python3-decorator-4.4.0-5.el8.noarch 4/162 DEBUG util.py:445: Installing : python3-netaddr-0.7.19-8.el8.noarch 5/162 DEBUG util.py:445: Installing : python3-futurist-2.4.0-0.20220311160357.d70c7e5. 6/162 DEBUG util.py:445: Installing : python3-tenacity-6.3.1-1.el8.noarch 7/162 DEBUG util.py:445: Installing : python3-msgpack-1.0.3-2.el8.x86_64 8/162 DEBUG util.py:445: Installing : python3-extras-1.0.0-10.el8.noarch 9/162 DEBUG util.py:445: Installing : python3-fixtures-3.0.0-27.el8.noarch 10/162 DEBUG util.py:445: Installing : python3-testtools-2.5.0-3.el8.noarch 11/162 DEBUG util.py:445: Installing : python3-mako-1.0.6-14.el8.noarch 12/162 DEBUG util.py:445: Installing : python3-dateutil-1:2.6.1-6.el8.noarch 13/162 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20220307143627. 14/162 DEBUG util.py:445: Installing : python3-subunit-1.4.0-1.el8.noarch 15/162 DEBUG util.py:445: Installing : python3-zipp-3.4.0-1.el8.noarch 16/162 DEBUG util.py:445: Installing : python3-importlib-metadata-1.7.0-1.el8.noarch 17/162 DEBUG util.py:445: Installing : python3-stevedore-3.5.2-0.20221024072403.6c9978a 18/162 DEBUG util.py:445: Installing : python3-keystoneauth1-4.5.0-0.20240201061910.8da 19/162 DEBUG util.py:445: Installing : python3-sushy-4.1.7-0.20240202135909.fdbcb17.el8 20/162 DEBUG util.py:445: Installing : python3-dogpile-cache-1.1.5-1.1.el8.noarch 21/162 DEBUG util.py:445: Installing : python3-wrapt-1.13.3-2.el8.x86_64 22/162 DEBUG util.py:445: Installing : python3-debtcollector-2.5.0-0.20220317120440.a6b 23/162 DEBUG util.py:445: Installing : python3-oslo-context-4.1.0-0.20220314115038.3400 24/162 DEBUG util.py:445: Installing : python3-voluptuous-0.12.1-1.el8.noarch 25/162 DEBUG util.py:445: Installing : python3-vine-5.0.0-2.el8.noarch 26/162 DEBUG util.py:445: Installing : python3-amqp-5.0.9-1.el8.noarch 27/162 DEBUG util.py:445: Installing : python3-tempita-0.5.1-25.el8.noarch 28/162 DEBUG util.py:445: Installing : python3-rfc3986-1.4.0-3.el8.noarch 29/162 DEBUG util.py:445: Installing : python3-fasteners-0.14.1-20.el8.noarch 30/162 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-4.el8.x86_64 31/162 DEBUG util.py:445: Installing : python3-attrs-17.4.0-6.el8.noarch 32/162 DEBUG util.py:445: Installing : python3-ply-3.9-9.el8.noarch 33/162 DEBUG util.py:445: Installing : python3-pycparser-2.14-14.el8.noarch 34/162 DEBUG util.py:445: Installing : python3-cffi-1.13.2-1.el8.x86_64 35/162 DEBUG util.py:445: Installing : python3-cryptography-3.2.1-7.el8.x86_64 36/162 DEBUG util.py:445: Installing : python3-pyOpenSSL-19.0.0-1.el8.noarch 37/162 DEBUG util.py:445: Installing : python3-paste-3.5.0-1.el8.noarch 38/162 DEBUG util.py:445: Installing : python3-bcrypt-3.1.7-3.el8.x86_64 39/162 DEBUG util.py:445: Installing : python3-paste-deploy-2.1.1-1.el8.noarch 40/162 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591 41/162 DEBUG util.py:445: Installing : python3-pyghmi-1.5.29-1.el8.noarch 42/162 DEBUG util.py:445: Installing : python3-smi-0.3.4-6.el8.noarch 43/162 DEBUG util.py:445: Installing : python3-kombu-1:5.0.2-1.el8.noarch 44/162 DEBUG util.py:445: Installing : python3-importlib-resources-4.1.1-1.el8.noarch 45/162 DEBUG util.py:445: Installing : python3-alembic-1.7.1-3.el8.noarch 46/162 DEBUG util.py:445: Installing : python3-oslotest-4.5.0-0.20220310171510.d4b1896. 47/162 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-17.el8.noarch 48/162 DEBUG util.py:445: Installing : python3-etcd3gw-0.2.5-1.el8.noarch 49/162 DEBUG util.py:445: Installing : python3-prometheus_client-0.7.1-2.el8.noarch 50/162 DEBUG util.py:445: Installing : python3-automaton-2.5.0-0.20220314171459.aaca110 51/162 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-3.el8s.x86_64 52/162 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-3.el8s.x86_64 53/162 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-4.el8.noarch 54/162 DEBUG util.py:445: Installing : python3-yappi-1.3.0-1.el8.x86_64 55/162 DEBUG util.py:445: Installing : python3-wcwidth-0.2.5-2.el8.noarch 56/162 DEBUG util.py:445: Installing : python3-waitress-1.4.2-1.el8.noarch 57/162 DEBUG util.py:445: Installing : python3-testresources-2.0.1-1.el8.noarch 58/162 DEBUG util.py:445: Installing : python3-statsd-3.2.1-16.el8.noarch 59/162 DEBUG util.py:445: Installing : python3-sqlparse-0.3.1-3.el8.noarch 60/162 DEBUG util.py:445: Installing : python3-migrate-0.13.0-1.el8.noarch 61/162 DEBUG util.py:445: Installing : python3-soupsieve-2.3.1-2.el8.noarch 62/162 DEBUG util.py:445: Installing : python3-simplejson-3.17.6-2.el8.x86_64 63/162 DEBUG util.py:445: Installing : python3-retrying-1.3.3-1.el8.noarch 64/162 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-6.el8.noarch 65/162 DEBUG util.py:445: Installing : python3-routes-2.4.1-12.el8.noarch 66/162 DEBUG util.py:445: Installing : python3-redis-3.5.3-1.el8.noarch 67/162 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-1.el8.x86_64 68/162 DEBUG util.py:445: Installing : python3-jsonschema-3.2.0-5.el8.noarch 69/162 DEBUG util.py:445: Installing : python3-pyperclip-1.8.0-2.el8.noarch 70/162 DEBUG util.py:445: Installing : python3-pycdlib-1.11.0-3.el8.noarch 71/162 DEBUG util.py:445: Installing : python3-pyasn1-0.4.6-3.el8.noarch 72/162 DEBUG util.py:445: Installing : python3-pysnmp-4.4.12-1.el8.noarch 73/162 DEBUG util.py:445: Installing : python3-psutil-5.7.3-1.el8.x86_64 74/162 DEBUG util.py:445: Installing : python3-munch-2.5.0-3.el8.noarch 75/162 DEBUG util.py:445: Installing : python3-mock-3.0.5-7.el8.noarch 76/162 DEBUG util.py:445: Installing : python3-memcached-1.59-1.el8.noarch 77/162 DEBUG util.py:445: Installing : python3-logutils-0.3.5-11.el8.noarch 78/162 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-1.el8.noarch 79/162 DEBUG util.py:445: Installing : python3-zake-0.2.2-18.el8.noarch 80/162 DEBUG util.py:445: Installing : python3-jeepney-0.4.3-1.el8.noarch 81/162 DEBUG util.py:445: Installing : python3-secretstorage-3.1.1-4.el8.noarch 82/162 DEBUG util.py:445: Installing : python3-keyring-21.0.0-1.el8.noarch 83/162 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-2.el8.noarch 84/162 DEBUG util.py:445: Installing : python3-zeroconf-0.24.4-1.el8.noarch 85/162 DEBUG util.py:445: Installing : python3-future-0.18.2-3.el8.noarch 86/162 DEBUG util.py:445: Installing : python3-defusedxml-0.7.1-1.el8.noarch 87/162 DEBUG util.py:445: Installing : python3-cssselect-0.9.2-13.el8.noarch 88/162 DEBUG util.py:445: Installing : python3-colorama-0.4.3-3.el8.noarch 89/162 DEBUG util.py:445: Installing : python3-cmd2-1.4.0-1.1.el8.noarch 90/162 DEBUG util.py:445: Installing : python3-cachetools-4.2.0-1.el8.noarch 91/162 DEBUG util.py:445: Installing : python3-autopage-0.4.0-1.el8.noarch 92/162 DEBUG util.py:445: Installing : python3-appdirs-1.4.3-12.el8.noarch 93/162 DEBUG util.py:445: Installing : libsodium-1.0.18-2.el8.x86_64 94/162 DEBUG util.py:445: Installing : python3-pynacl-1.4.0-1.el8.x86_64 95/162 DEBUG util.py:445: Installing : python3-webencodings-0.5.1-6.el8.noarch 96/162 DEBUG util.py:445: Installing : python3-html5lib-1:0.999999999-6.el8.noarch 97/162 DEBUG util.py:445: Installing : python3-jsonpointer-1.10-11.el8.noarch 98/162 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-2.el8.noarch 99/162 DEBUG util.py:445: Installing : python3-warlock-1.3.3-1.el8.noarch 100/162 DEBUG util.py:445: Installing : python3-jmespath-0.9.0-11.el8.noarch 101/162 DEBUG util.py:445: Installing : ipmitool-1.8.18-19.el8.x86_64 102/162 DEBUG util.py:445: Running scriptlet: dnsmasq-2.79-32.el8.x86_64 103/162 DEBUG util.py:445: Installing : dnsmasq-2.79-32.el8.x86_64 103/162 DEBUG util.py:445: Running scriptlet: dnsmasq-2.79-32.el8.x86_64 103/162 DEBUG util.py:445: Installing : python3-inotify-0.9.6-13.el8.noarch 104/162 DEBUG util.py:445: Installing : libyaml-0.1.7-5.el8.x86_64 105/162 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-2.el8.x86_64 106/162 DEBUG util.py:445: Installing : python3-cliff-3.10.1-0.20220314185955.a04a48f.el 107/162 DEBUG util.py:445: Installing : python3-stestr-3.2.0-3.el8.noarch 108/162 DEBUG util.py:445: Installing : libxslt-1.1.32-6.el8.x86_64 109/162 DEBUG util.py:445: Installing : python3-beautifulsoup4-4.9.3-1.el8.noarch 110/162 DEBUG util.py:445: Installing : python3-lxml-4.2.3-4.el8.x86_64 111/162 DEBUG util.py:445: Installing : python3-dracclient-8.0.1-0.20220413232915.eee503 112/162 DEBUG util.py:445: Installing : python3-webtest-2.0.35-3.el8.noarch 113/162 DEBUG util.py:445: Installing : python3-pecan-1.3.3-2.el8.noarch 114/162 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2022030712392 115/162 DEBUG util.py:445: Installing : python3-openstacksdk-0.62.0-0.20230411165545.4ce 116/162 DEBUG util.py:445: Installing : python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1 117/162 DEBUG util.py:445: Installing : python3-os-traits-2.7.0-0.20220314182947.3d1dbf0 118/162 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20220311163944.4179 119/162 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-2.6.0-0.202203 120/162 DEBUG util.py:445: Installing : python-oslo-utils-lang-4.12.4-0.20240126084419.9 121/162 DEBUG util.py:445: Installing : python-oslo-privsep-lang-2.7.0-0.20220314191741. 122/162 DEBUG util.py:445: Installing : python-oslo-policy-lang-3.11.0-0.20220314171849. 123/162 DEBUG util.py:445: Installing : python-oslo-middleware-lang-4.5.1-0.202203141609 124/162 DEBUG util.py:445: Installing : python-oslo-log-lang-4.7.0-0.20220324144856.de03 125/162 DEBUG util.py:445: Installing : python-oslo-i18n-lang-5.1.0-0.20220307124733.b03 126/162 DEBUG util.py:445: Installing : python3-oslo-i18n-5.1.0-0.20220307124733.b031d17 127/162 DEBUG util.py:445: Installing : python3-oslo-utils-4.12.4-0.20240126084419.92d0c 128/162 DEBUG util.py:445: Installing : python3-oslo-config-2:8.8.1-0.20231115112140.966 129/162 DEBUG util.py:445: Installing : python3-oslo-serialization-4.3.0-0.2022031115140 130/162 DEBUG util.py:445: Installing : python3-oslo-log-4.7.0-0.20220324144856.de03a59. 131/162 DEBUG util.py:445: Installing : python3-keystoneclient-1:4.4.0-0.20220314190516. 132/162 DEBUG util.py:445: Installing : python3-oslo-policy-3.11.0-0.20220314171849.b48b 133/162 DEBUG util.py:445: Installing : python3-oslo-middleware-4.5.1-0.20220314160906.2 134/162 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-1.5.0-0.20220314174419 135/162 DEBUG util.py:445: Installing : python3-swiftclient-3.13.1-0.20220314193840.4989 136/162 DEBUG util.py:445: Installing : python3-oslo-metrics-0.4.0-0.20220314171631.b4eb 137/162 DEBUG util.py:445: Installing : python3-oslo-privsep-2.7.0-0.20220314191741.2b26 138/162 DEBUG util.py:445: Installing : python3-scciclient-0.12.3-0.20220729095350.0940a 139/162 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20220311163944.4179996.el 140/162 DEBUG util.py:445: Installing : python3-tooz-2.10.1-0.20220314164958.e88e601.el8 141/162 DEBUG util.py:445: Installing : python3-cinderclient-8.3.0-0.20220314194227.ee59 142/162 DEBUG util.py:445: Installing : python3-glanceclient-1:3.6.0-0.20220314183717.62 143/162 DEBUG util.py:445: Installing : python-oslo-db-lang-11.2.0-0.20220314165526.22c6 144/162 DEBUG util.py:445: Installing : python3-oslo-db-11.2.0-0.20220314165526.22c602f. 145/162 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-4.5.0-0.20220311165 146/162 DEBUG util.py:445: Installing : python3-oslo-concurrency-4.5.0-0.20220311165052. 147/162 DEBUG util.py:445: Installing : python3-oslo-service-2.8.0-0.20220314165315.6552 148/162 DEBUG util.py:445: Installing : python3-oslo-messaging-12.13.3-0.20231124143847. 149/162 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-2.6.0-0.2022031418 150/162 DEBUG util.py:445: Installing : python3-osprofiler-3.4.2-0.20220307232434.e475de 151/162 DEBUG util.py:445: Installing : python3-ironic-lib-5.2.0-0.20220316145422.e20581 152/162 DEBUG util.py:445: warning: group ironic does not exist - using root DEBUG util.py:445: Installing : python3-proliantutils-2.12.2-0.20220316122454.50 153/162 DEBUG util.py:445: Installing : python-oslo-cache-lang-2.10.1-0.20220314140354.d 154/162 DEBUG util.py:445: Installing : python3-oslo-cache-2.10.1-0.20220314140354.d7502 155/162 DEBUG util.py:445: Installing : python3-keystonemiddleware-9.4.0-0.2024020106483 156/162 DEBUG util.py:445: Running scriptlet: openstack-ironic-common-1:20.1.4-0.2024031810490 157/162 DEBUG util.py:445: Installing : openstack-ironic-common-1:20.1.4-0.2024031810490 157/162 DEBUG util.py:445: Installing : python3-ironic-tests-1:20.1.4-0.20240318104900.e 158/162 DEBUG util.py:445: Installing : openstack-ironic-conductor-1:20.1.4-0.2024031810 159/162 DEBUG util.py:445: Running scriptlet: openstack-ironic-conductor-1:20.1.4-0.2024031810 159/162 DEBUG util.py:445: Installing : openstack-ironic-api-1:20.1.4-0.20240318104900.e 160/162 DEBUG util.py:445: Running scriptlet: openstack-ironic-api-1:20.1.4-0.20240318104900.e 160/162 DEBUG util.py:445: Installing : openstack-ironic-1:20.1.4-0.20240318104900.ee848 161/162 DEBUG util.py:445: Running scriptlet: openstack-ironic-1:20.1.4-0.20240318104900.ee848 161/162 DEBUG util.py:445: Installing : openstack-ironic-dnsmasq-tftp-server-1:20.1.4-0. 162/162 DEBUG util.py:445: Running scriptlet: openstack-ironic-dnsmasq-tftp-server-1:20.1.4-0. 162/162 DEBUG util.py:445: Verifying : python3-dracclient-8.0.1-0.20220413232915.eee503 1/162 DEBUG util.py:445: Verifying : python3-ironic-lib-5.2.0-0.20220316145422.e20581 2/162 DEBUG util.py:445: Verifying : python3-proliantutils-2.12.2-0.20220316122454.50 3/162 DEBUG util.py:445: Verifying : python3-scciclient-0.12.3-0.20220729095350.0940a 4/162 DEBUG util.py:445: Verifying : python3-sushy-4.1.7-0.20240202135909.fdbcb17.el8 5/162 DEBUG util.py:445: Verifying : python3-cinderclient-8.3.0-0.20220314194227.ee59 6/162 DEBUG util.py:445: Verifying : python3-glanceclient-1:3.6.0-0.20220314183717.62 7/162 DEBUG util.py:445: Verifying : python3-keystoneclient-1:4.4.0-0.20220314190516. 8/162 DEBUG util.py:445: Verifying : python3-openstacksdk-0.62.0-0.20230411165545.4ce 9/162 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20220307143627. 10/162 DEBUG util.py:445: Verifying : python3-oslotest-4.5.0-0.20220310171510.d4b1896. 11/162 DEBUG util.py:445: Verifying : python3-stevedore-3.5.2-0.20221024072403.6c9978a 12/162 DEBUG util.py:445: Verifying : python3-swiftclient-3.13.1-0.20220314193840.4989 13/162 DEBUG util.py:445: Verifying : python-oslo-cache-lang-2.10.1-0.20220314140354.d 14/162 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-4.5.0-0.20220311165 15/162 DEBUG util.py:445: Verifying : python-oslo-db-lang-11.2.0-0.20220314165526.22c6 16/162 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-5.1.0-0.20220307124733.b03 17/162 DEBUG util.py:445: Verifying : python-oslo-log-lang-4.7.0-0.20220324144856.de03 18/162 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-4.5.1-0.202203141609 19/162 DEBUG util.py:445: Verifying : python-oslo-policy-lang-3.11.0-0.20220314171849. 20/162 DEBUG util.py:445: Verifying : python-oslo-privsep-lang-2.7.0-0.20220314191741. 21/162 DEBUG util.py:445: Verifying : python-oslo-utils-lang-4.12.4-0.20240126084419.9 22/162 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-2.6.0-0.202203 23/162 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20220311163944.4179 24/162 DEBUG util.py:445: Verifying : python3-automaton-2.5.0-0.20220314171459.aaca110 25/162 DEBUG util.py:445: Verifying : python3-cliff-3.10.1-0.20220314185955.a04a48f.el 26/162 DEBUG util.py:445: Verifying : python3-debtcollector-2.5.0-0.20220317120440.a6b 27/162 DEBUG util.py:445: Verifying : python3-futurist-2.4.0-0.20220311160357.d70c7e5. 28/162 DEBUG util.py:445: Verifying : python3-os-traits-2.7.0-0.20220314182947.3d1dbf0 29/162 DEBUG util.py:445: Verifying : python3-oslo-cache-2.10.1-0.20220314140354.d7502 30/162 DEBUG util.py:445: Verifying : python3-oslo-concurrency-4.5.0-0.20220311165052. 31/162 DEBUG util.py:445: Verifying : python3-oslo-config-2:8.8.1-0.20231115112140.966 32/162 DEBUG util.py:445: Verifying : python3-oslo-context-4.1.0-0.20220314115038.3400 33/162 DEBUG util.py:445: Verifying : python3-oslo-db-11.2.0-0.20220314165526.22c602f. 34/162 DEBUG util.py:445: Verifying : python3-oslo-i18n-5.1.0-0.20220307124733.b031d17 35/162 DEBUG util.py:445: Verifying : python3-oslo-log-4.7.0-0.20220324144856.de03a59. 36/162 DEBUG util.py:445: Verifying : python3-oslo-messaging-12.13.3-0.20231124143847. 37/162 DEBUG util.py:445: Verifying : python3-oslo-metrics-0.4.0-0.20220314171631.b4eb 38/162 DEBUG util.py:445: Verifying : python3-oslo-middleware-4.5.1-0.20220314160906.2 39/162 DEBUG util.py:445: Verifying : python3-oslo-policy-3.11.0-0.20220314171849.b48b 40/162 DEBUG util.py:445: Verifying : python3-oslo-privsep-2.7.0-0.20220314191741.2b26 41/162 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1 42/162 DEBUG util.py:445: Verifying : python3-oslo-serialization-4.3.0-0.2022031115140 43/162 DEBUG util.py:445: Verifying : python3-oslo-service-2.8.0-0.20220314165315.6552 44/162 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-1.5.0-0.20220314174419 45/162 DEBUG util.py:445: Verifying : python3-oslo-utils-4.12.4-0.20240126084419.92d0c 46/162 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-2.6.0-0.2022031418 47/162 DEBUG util.py:445: Verifying : python3-osprofiler-3.4.2-0.20220307232434.e475de 48/162 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20220311163944.4179996.el 49/162 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2022030712392 50/162 DEBUG util.py:445: Verifying : python3-tooz-2.10.1-0.20220314164958.e88e601.el8 51/162 DEBUG util.py:445: Verifying : python3-keystoneauth1-4.5.0-0.20240201061910.8da 52/162 DEBUG util.py:445: Verifying : python3-keystonemiddleware-9.4.0-0.2024020106483 53/162 DEBUG util.py:445: Verifying : libxslt-1.1.32-6.el8.x86_64 54/162 DEBUG util.py:445: Verifying : libyaml-0.1.7-5.el8.x86_64 55/162 DEBUG util.py:445: Verifying : python3-cryptography-3.2.1-7.el8.x86_64 56/162 DEBUG util.py:445: Verifying : python3-dateutil-1:2.6.1-6.el8.noarch 57/162 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-13.el8.noarch 58/162 DEBUG util.py:445: Verifying : python3-ply-3.9-9.el8.noarch 59/162 DEBUG util.py:445: Verifying : python3-pycparser-2.14-14.el8.noarch 60/162 DEBUG util.py:445: Verifying : dnsmasq-2.79-32.el8.x86_64 61/162 DEBUG util.py:445: Verifying : ipmitool-1.8.18-19.el8.x86_64 62/162 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591 63/162 DEBUG util.py:445: Verifying : python3-attrs-17.4.0-6.el8.noarch 64/162 DEBUG util.py:445: Verifying : python3-html5lib-1:0.999999999-6.el8.noarch 65/162 DEBUG util.py:445: Verifying : python3-jmespath-0.9.0-11.el8.noarch 66/162 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-2.el8.noarch 67/162 DEBUG util.py:445: Verifying : python3-jsonpointer-1.10-11.el8.noarch 68/162 DEBUG util.py:445: Verifying : python3-lxml-4.2.3-4.el8.x86_64 69/162 DEBUG util.py:445: Verifying : python3-mako-1.0.6-14.el8.noarch 70/162 DEBUG util.py:445: Verifying : python3-netaddr-0.7.19-8.el8.noarch 71/162 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-4.el8.x86_64 72/162 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-14.el8.noarch 73/162 DEBUG util.py:445: Verifying : python3-pyOpenSSL-19.0.0-1.el8.noarch 74/162 DEBUG util.py:445: Verifying : python3-pyghmi-1.5.29-1.el8.noarch 75/162 DEBUG util.py:445: Verifying : python3-webencodings-0.5.1-6.el8.noarch 76/162 DEBUG util.py:445: Verifying : libsodium-1.0.18-2.el8.x86_64 77/162 DEBUG util.py:445: Verifying : python3-alembic-1.7.1-3.el8.noarch 78/162 DEBUG util.py:445: Verifying : python3-amqp-5.0.9-1.el8.noarch 79/162 DEBUG util.py:445: Verifying : python3-appdirs-1.4.3-12.el8.noarch 80/162 DEBUG util.py:445: Verifying : python3-autopage-0.4.0-1.el8.noarch 81/162 DEBUG util.py:445: Verifying : python3-bcrypt-3.1.7-3.el8.x86_64 82/162 DEBUG util.py:445: Verifying : python3-beautifulsoup4-4.9.3-1.el8.noarch 83/162 DEBUG util.py:445: Verifying : python3-cachetools-4.2.0-1.el8.noarch 84/162 DEBUG util.py:445: Verifying : python3-cffi-1.13.2-1.el8.x86_64 85/162 DEBUG util.py:445: Verifying : python3-cmd2-1.4.0-1.1.el8.noarch 86/162 DEBUG util.py:445: Verifying : python3-colorama-0.4.3-3.el8.noarch 87/162 DEBUG util.py:445: Verifying : python3-cssselect-0.9.2-13.el8.noarch 88/162 DEBUG util.py:445: Verifying : python3-decorator-4.4.0-5.el8.noarch 89/162 DEBUG util.py:445: Verifying : python3-defusedxml-0.7.1-1.el8.noarch 90/162 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.1.5-1.1.el8.noarch 91/162 DEBUG util.py:445: Verifying : python3-etcd3gw-0.2.5-1.el8.noarch 92/162 DEBUG util.py:445: Verifying : python3-extras-1.0.0-10.el8.noarch 93/162 DEBUG util.py:445: Verifying : python3-fasteners-0.14.1-20.el8.noarch 94/162 DEBUG util.py:445: Verifying : python3-fixtures-3.0.0-27.el8.noarch 95/162 DEBUG util.py:445: Verifying : python3-future-0.18.2-3.el8.noarch 96/162 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-2.el8.noarch 97/162 DEBUG util.py:445: Verifying : python3-importlib-metadata-1.7.0-1.el8.noarch 98/162 DEBUG util.py:445: Verifying : python3-importlib-resources-4.1.1-1.el8.noarch 99/162 DEBUG util.py:445: Verifying : python3-iso8601-0.1.12-3.el8.noarch 100/162 DEBUG util.py:445: Verifying : python3-jeepney-0.4.3-1.el8.noarch 101/162 DEBUG util.py:445: Verifying : python3-jsonschema-3.2.0-5.el8.noarch 102/162 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-1.el8.noarch 103/162 DEBUG util.py:445: Verifying : python3-keyring-21.0.0-1.el8.noarch 104/162 DEBUG util.py:445: Verifying : python3-kombu-1:5.0.2-1.el8.noarch 105/162 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-11.el8.noarch 106/162 DEBUG util.py:445: Verifying : python3-memcached-1.59-1.el8.noarch 107/162 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-1.el8.noarch 108/162 DEBUG util.py:445: Verifying : python3-mock-3.0.5-7.el8.noarch 109/162 DEBUG util.py:445: Verifying : python3-msgpack-1.0.3-2.el8.x86_64 110/162 DEBUG util.py:445: Verifying : python3-munch-2.5.0-3.el8.noarch 111/162 DEBUG util.py:445: Verifying : python3-paste-3.5.0-1.el8.noarch 112/162 DEBUG util.py:445: Verifying : python3-paste-deploy-2.1.1-1.el8.noarch 113/162 DEBUG util.py:445: Verifying : python3-pecan-1.3.3-2.el8.noarch 114/162 DEBUG util.py:445: Verifying : python3-prometheus_client-0.7.1-2.el8.noarch 115/162 DEBUG util.py:445: Verifying : python3-psutil-5.7.3-1.el8.x86_64 116/162 DEBUG util.py:445: Verifying : python3-pyasn1-0.4.6-3.el8.noarch 117/162 DEBUG util.py:445: Verifying : python3-pycdlib-1.11.0-3.el8.noarch 118/162 DEBUG util.py:445: Verifying : python3-pynacl-1.4.0-1.el8.x86_64 119/162 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-4.el8.noarch 120/162 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.0-2.el8.noarch 121/162 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-1.el8.x86_64 122/162 DEBUG util.py:445: Verifying : python3-pysnmp-4.4.12-1.el8.noarch 123/162 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-2.el8.x86_64 124/162 DEBUG util.py:445: Verifying : python3-redis-3.5.3-1.el8.noarch 125/162 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-6.el8.noarch 126/162 DEBUG util.py:445: Verifying : python3-retrying-1.3.3-1.el8.noarch 127/162 DEBUG util.py:445: Verifying : python3-rfc3986-1.4.0-3.el8.noarch 128/162 DEBUG util.py:445: Verifying : python3-routes-2.4.1-12.el8.noarch 129/162 DEBUG util.py:445: Verifying : python3-secretstorage-3.1.1-4.el8.noarch 130/162 DEBUG util.py:445: Verifying : python3-simplejson-3.17.6-2.el8.x86_64 131/162 DEBUG util.py:445: Verifying : python3-smi-0.3.4-6.el8.noarch 132/162 DEBUG util.py:445: Verifying : python3-soupsieve-2.3.1-2.el8.noarch 133/162 DEBUG util.py:445: Verifying : python3-sqlparse-0.3.1-3.el8.noarch 134/162 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-16.el8.noarch 135/162 DEBUG util.py:445: Verifying : python3-stestr-3.2.0-3.el8.noarch 136/162 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-1.el8.noarch 137/162 DEBUG util.py:445: Verifying : python3-tempita-0.5.1-25.el8.noarch 138/162 DEBUG util.py:445: Verifying : python3-tenacity-6.3.1-1.el8.noarch 139/162 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-1.el8.noarch 140/162 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-17.el8.noarch 141/162 DEBUG util.py:445: Verifying : python3-testtools-2.5.0-3.el8.noarch 142/162 DEBUG util.py:445: Verifying : python3-vine-5.0.0-2.el8.noarch 143/162 DEBUG util.py:445: Verifying : python3-voluptuous-0.12.1-1.el8.noarch 144/162 DEBUG util.py:445: Verifying : python3-waitress-1.4.2-1.el8.noarch 145/162 DEBUG util.py:445: Verifying : python3-warlock-1.3.3-1.el8.noarch 146/162 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.5-2.el8.noarch 147/162 DEBUG util.py:445: Verifying : python3-webob-1.8.6-3.el8.noarch 148/162 DEBUG util.py:445: Verifying : python3-webtest-2.0.35-3.el8.noarch 149/162 DEBUG util.py:445: Verifying : python3-wrapt-1.13.3-2.el8.x86_64 150/162 DEBUG util.py:445: Verifying : python3-yappi-1.3.0-1.el8.x86_64 151/162 DEBUG util.py:445: Verifying : python3-zake-0.2.2-18.el8.noarch 152/162 DEBUG util.py:445: Verifying : python3-zeroconf-0.24.4-1.el8.noarch 153/162 DEBUG util.py:445: Verifying : python3-zipp-3.4.0-1.el8.noarch 154/162 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-3.el8s.x86_64 155/162 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-3.el8s.x86_64 156/162 DEBUG util.py:445: Verifying : python3-ironic-tests-1:20.1.4-0.20240318104900.e 157/162 DEBUG util.py:445: Verifying : openstack-ironic-dnsmasq-tftp-server-1:20.1.4-0. 158/162 DEBUG util.py:445: Verifying : openstack-ironic-conductor-1:20.1.4-0.2024031810 159/162 DEBUG util.py:445: Verifying : openstack-ironic-api-1:20.1.4-0.20240318104900.e 160/162 DEBUG util.py:445: Verifying : openstack-ironic-common-1:20.1.4-0.2024031810490 161/162 DEBUG util.py:445: Verifying : openstack-ironic-1:20.1.4-0.20240318104900.ee848 162/162 DEBUG util.py:445: Installed: DEBUG util.py:445: dnsmasq-2.79-32.el8.x86_64 DEBUG util.py:445: ipmitool-1.8.18-19.el8.x86_64 DEBUG util.py:445: libsodium-1.0.18-2.el8.x86_64 DEBUG util.py:445: libxslt-1.1.32-6.el8.x86_64 DEBUG util.py:445: libyaml-0.1.7-5.el8.x86_64 DEBUG util.py:445: openstack-ironic-1:20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: openstack-ironic-api-1:20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: openstack-ironic-common-1:20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: openstack-ironic-conductor-1:20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server-1:20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: python-oslo-cache-lang-2.10.1-0.20220314140354.d75020b.el8.noarch DEBUG util.py:445: python-oslo-concurrency-lang-4.5.0-0.20220311165052.a9ccf0a.el8.noarch DEBUG util.py:445: python-oslo-db-lang-11.2.0-0.20220314165526.22c602f.el8.noarch DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20220307124733.b031d17.el8.noarch DEBUG util.py:445: python-oslo-log-lang-4.7.0-0.20220324144856.de03a59.el8.noarch DEBUG util.py:445: python-oslo-middleware-lang-4.5.1-0.20220314160906.2f72b30.el8.noarch DEBUG util.py:445: python-oslo-policy-lang-3.11.0-0.20220314171849.b48b711.el8.noarch DEBUG util.py:445: python-oslo-privsep-lang-2.7.0-0.20220314191741.2b26dea.el8.noarch DEBUG util.py:445: python-oslo-utils-lang-4.12.4-0.20240126084419.92d0c17.el8.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-2.6.0-0.20220314182459.25d34d6.el8.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20220311163944.4179996.el8.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-2.module_el8+762+77bd8591.noarch DEBUG util.py:445: python3-alembic-1.7.1-3.el8.noarch DEBUG util.py:445: python3-amqp-5.0.9-1.el8.noarch DEBUG util.py:445: python3-appdirs-1.4.3-12.el8.noarch DEBUG util.py:445: python3-attrs-17.4.0-6.el8.noarch DEBUG util.py:445: python3-automaton-2.5.0-0.20220314171459.aaca110.el8.noarch DEBUG util.py:445: python3-autopage-0.4.0-1.el8.noarch DEBUG util.py:445: python3-bcrypt-3.1.7-3.el8.x86_64 DEBUG util.py:445: python3-beautifulsoup4-4.9.3-1.el8.noarch DEBUG util.py:445: python3-cachetools-4.2.0-1.el8.noarch DEBUG util.py:445: python3-cffi-1.13.2-1.el8.x86_64 DEBUG util.py:445: python3-cinderclient-8.3.0-0.20220314194227.ee59b68.el8.noarch DEBUG util.py:445: python3-cliff-3.10.1-0.20220314185955.a04a48f.el8.noarch DEBUG util.py:445: python3-cmd2-1.4.0-1.1.el8.noarch DEBUG util.py:445: python3-colorama-0.4.3-3.el8.noarch DEBUG util.py:445: python3-cryptography-3.2.1-7.el8.x86_64 DEBUG util.py:445: python3-cssselect-0.9.2-13.el8.noarch DEBUG util.py:445: python3-dateutil-1:2.6.1-6.el8.noarch DEBUG util.py:445: python3-debtcollector-2.5.0-0.20220317120440.a6b46c5.el8.noarch DEBUG util.py:445: python3-decorator-4.4.0-5.el8.noarch DEBUG util.py:445: python3-defusedxml-0.7.1-1.el8.noarch DEBUG util.py:445: python3-dogpile-cache-1.1.5-1.1.el8.noarch DEBUG util.py:445: python3-dracclient-8.0.1-0.20220413232915.eee5037.el8.noarch DEBUG util.py:445: python3-etcd3gw-0.2.5-1.el8.noarch DEBUG util.py:445: python3-extras-1.0.0-10.el8.noarch DEBUG util.py:445: python3-fasteners-0.14.1-20.el8.noarch DEBUG util.py:445: python3-fixtures-3.0.0-27.el8.noarch DEBUG util.py:445: python3-future-0.18.2-3.el8.noarch DEBUG util.py:445: python3-futurist-2.4.0-0.20220311160357.d70c7e5.el8.noarch DEBUG util.py:445: python3-glanceclient-1:3.6.0-0.20220314183717.626c500.el8.noarch DEBUG util.py:445: python3-html5lib-1:0.999999999-6.el8.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-2.el8.noarch DEBUG util.py:445: python3-importlib-metadata-1.7.0-1.el8.noarch DEBUG util.py:445: python3-importlib-resources-4.1.1-1.el8.noarch DEBUG util.py:445: python3-inotify-0.9.6-13.el8.noarch DEBUG util.py:445: python3-ironic-lib-5.2.0-0.20220316145422.e205816.el8.noarch DEBUG util.py:445: python3-ironic-tests-1:20.1.4-0.20240318104900.ee848a8.el8.noarch DEBUG util.py:445: python3-iso8601-0.1.12-3.el8.noarch DEBUG util.py:445: python3-jeepney-0.4.3-1.el8.noarch DEBUG util.py:445: python3-jmespath-0.9.0-11.el8.noarch DEBUG util.py:445: python3-jsonpatch-1.21-2.el8.noarch DEBUG util.py:445: python3-jsonpointer-1.10-11.el8.noarch DEBUG util.py:445: python3-jsonschema-3.2.0-5.el8.noarch DEBUG util.py:445: python3-kazoo-2.8.0-1.el8.noarch DEBUG util.py:445: python3-keyring-21.0.0-1.el8.noarch DEBUG util.py:445: python3-keystoneauth1-4.5.0-0.20240201061910.8da0a63.el8.noarch DEBUG util.py:445: python3-keystoneclient-1:4.4.0-0.20220314190516.100253d.el8.noarch DEBUG util.py:445: python3-keystonemiddleware-9.4.0-0.20240201064833.8a05709.el8.noarch DEBUG util.py:445: python3-kombu-1:5.0.2-1.el8.noarch DEBUG util.py:445: python3-logutils-0.3.5-11.el8.noarch DEBUG util.py:445: python3-lxml-4.2.3-4.el8.x86_64 DEBUG util.py:445: python3-mako-1.0.6-14.el8.noarch DEBUG util.py:445: python3-memcached-1.59-1.el8.noarch DEBUG util.py:445: python3-migrate-0.13.0-1.el8.noarch DEBUG util.py:445: python3-mock-3.0.5-7.el8.noarch DEBUG util.py:445: python3-msgpack-1.0.3-2.el8.x86_64 DEBUG util.py:445: python3-munch-2.5.0-3.el8.noarch DEBUG util.py:445: python3-netaddr-0.7.19-8.el8.noarch DEBUG util.py:445: python3-netifaces-0.10.6-4.el8.x86_64 DEBUG util.py:445: python3-openstacksdk-0.62.0-0.20230411165545.4ceff8f.el8.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220307143627.0b2f473.el8.noarch DEBUG util.py:445: python3-os-traits-2.7.0-0.20220314182947.3d1dbf0.el8.noarch DEBUG util.py:445: python3-oslo-cache-2.10.1-0.20220314140354.d75020b.el8.noarch DEBUG util.py:445: python3-oslo-concurrency-4.5.0-0.20220311165052.a9ccf0a.el8.noarch DEBUG util.py:445: python3-oslo-config-2:8.8.1-0.20231115112140.966c588.el8.noarch DEBUG util.py:445: python3-oslo-context-4.1.0-0.20220314115038.3400cc2.el8.noarch DEBUG util.py:445: python3-oslo-db-11.2.0-0.20220314165526.22c602f.el8.noarch DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20220307124733.b031d17.el8.noarch DEBUG util.py:445: python3-oslo-log-4.7.0-0.20220324144856.de03a59.el8.noarch DEBUG util.py:445: python3-oslo-messaging-12.13.3-0.20231124143847.047da4e.el8.noarch DEBUG util.py:445: python3-oslo-metrics-0.4.0-0.20220314171631.b4eb8c3.el8.noarch DEBUG util.py:445: python3-oslo-middleware-4.5.1-0.20220314160906.2f72b30.el8.noarch DEBUG util.py:445: python3-oslo-policy-3.11.0-0.20220314171849.b48b711.el8.noarch DEBUG util.py:445: python3-oslo-privsep-2.7.0-0.20220314191741.2b26dea.el8.noarch DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220314191346.1b1b960.el8.noarch DEBUG util.py:445: python3-oslo-serialization-4.3.0-0.20220311151409.6910f75.el8.noarch DEBUG util.py:445: python3-oslo-service-2.8.0-0.20220314165315.6552b9a.el8.noarch DEBUG util.py:445: python3-oslo-upgradecheck-1.5.0-0.20220314174419.1559e03.el8.noarch DEBUG util.py:445: python3-oslo-utils-4.12.4-0.20240126084419.92d0c17.el8.noarch DEBUG util.py:445: python3-oslo-versionedobjects-2.6.0-0.20220314182459.25d34d6.el8.noarch DEBUG util.py:445: python3-oslotest-4.5.0-0.20220310171510.d4b1896.el8.noarch DEBUG util.py:445: python3-osprofiler-3.4.2-0.20220307232434.e475de6.el8.noarch DEBUG util.py:445: python3-paste-3.5.0-1.el8.noarch DEBUG util.py:445: python3-paste-deploy-2.1.1-1.el8.noarch DEBUG util.py:445: python3-pecan-1.3.3-2.el8.noarch DEBUG util.py:445: python3-ply-3.9-9.el8.noarch DEBUG util.py:445: python3-prettytable-0.7.2-14.el8.noarch DEBUG util.py:445: python3-proliantutils-2.12.2-0.20220316122454.500f518.el8.noarch DEBUG util.py:445: python3-prometheus_client-0.7.1-2.el8.noarch DEBUG util.py:445: python3-psutil-5.7.3-1.el8.x86_64 DEBUG util.py:445: python3-pyOpenSSL-19.0.0-1.el8.noarch DEBUG util.py:445: python3-pyasn1-0.4.6-3.el8.noarch DEBUG util.py:445: python3-pycadf-3.1.1-0.20220311163944.4179996.el8.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-3.el8.noarch DEBUG util.py:445: python3-pycparser-2.14-14.el8.noarch DEBUG util.py:445: python3-pyghmi-1.5.29-1.el8.noarch DEBUG util.py:445: python3-pynacl-1.4.0-1.el8.x86_64 DEBUG util.py:445: python3-pyngus-2.3.0-4.el8.noarch DEBUG util.py:445: python3-pyperclip-1.8.0-2.el8.noarch DEBUG util.py:445: python3-pyrsistent-0.17.3-1.el8.x86_64 DEBUG util.py:445: python3-pysnmp-4.4.12-1.el8.noarch DEBUG util.py:445: python3-pyyaml-5.4.1-2.el8.x86_64 DEBUG util.py:445: python3-qpid-proton-0.35.0-3.el8s.x86_64 DEBUG util.py:445: python3-redis-3.5.3-1.el8.noarch DEBUG util.py:445: python3-repoze-lru-0.7-6.el8.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220307123924.d7ac0ff.el8.noarch DEBUG util.py:445: python3-retrying-1.3.3-1.el8.noarch DEBUG util.py:445: python3-rfc3986-1.4.0-3.el8.noarch DEBUG util.py:445: python3-routes-2.4.1-12.el8.noarch DEBUG util.py:445: python3-scciclient-0.12.3-0.20220729095350.0940a71.el8.noarch DEBUG util.py:445: python3-secretstorage-3.1.1-4.el8.noarch DEBUG util.py:445: python3-simplejson-3.17.6-2.el8.x86_64 DEBUG util.py:445: python3-smi-0.3.4-6.el8.noarch DEBUG util.py:445: python3-soupsieve-2.3.1-2.el8.noarch DEBUG util.py:445: python3-sqlparse-0.3.1-3.el8.noarch DEBUG util.py:445: python3-statsd-3.2.1-16.el8.noarch DEBUG util.py:445: python3-stestr-3.2.0-3.el8.noarch DEBUG util.py:445: python3-stevedore-3.5.2-0.20221024072403.6c9978a.el8.noarch DEBUG util.py:445: python3-subunit-1.4.0-1.el8.noarch DEBUG util.py:445: python3-sushy-4.1.7-0.20240202135909.fdbcb17.el8.noarch DEBUG util.py:445: python3-swiftclient-3.13.1-0.20220314193840.4989d94.el8.noarch DEBUG util.py:445: python3-tempita-0.5.1-25.el8.noarch DEBUG util.py:445: python3-tenacity-6.3.1-1.el8.noarch DEBUG util.py:445: python3-testresources-2.0.1-1.el8.noarch DEBUG util.py:445: python3-testscenarios-0.5.0-17.el8.noarch DEBUG util.py:445: python3-testtools-2.5.0-3.el8.noarch DEBUG util.py:445: python3-tooz-2.10.1-0.20220314164958.e88e601.el8.noarch DEBUG util.py:445: python3-vine-5.0.0-2.el8.noarch DEBUG util.py:445: python3-voluptuous-0.12.1-1.el8.noarch DEBUG util.py:445: python3-waitress-1.4.2-1.el8.noarch DEBUG util.py:445: python3-warlock-1.3.3-1.el8.noarch DEBUG util.py:445: python3-wcwidth-0.2.5-2.el8.noarch DEBUG util.py:445: python3-webencodings-0.5.1-6.el8.noarch DEBUG util.py:445: python3-webob-1.8.6-3.el8.noarch DEBUG util.py:445: python3-webtest-2.0.35-3.el8.noarch DEBUG util.py:445: python3-wrapt-1.13.3-2.el8.x86_64 DEBUG util.py:445: python3-yappi-1.3.0-1.el8.x86_64 DEBUG util.py:445: python3-zake-0.2.2-18.el8.noarch DEBUG util.py:445: python3-zeroconf-0.24.4-1.el8.noarch DEBUG util.py:445: python3-zipp-3.4.0-1.el8.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-3.el8s.x86_64 DEBUG util.py:445: Complete! DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys/fs/selinux'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/pts'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/dev/shm'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/sys'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans INFO buildroot.py:908: DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/home/centos8-yoga/data/repos/component/baremetal/ee/84/ee848a87dcce29dd6d7ed6e3659c69a956322cd7_8aaeb793'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '-l', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5/root'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['btrfs', 'subv', 'list', '/var/lib/mock'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:168: kill orphans DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/proc/filesystems'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/dnf'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/umount', '-n', '/var/lib/mock/dlrn-centos8-yoga-x86_64-5-bootstrap/root/var/cache/yum'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:596: Child return code was: 0